활동7
Java SpringBoot는 Activiti7 워크플로를 통합합니다.
본 글의 프로젝트 데모 주소는 글 마지막에 첨부되어 있습니다.
공식 홈페이지: http://activiti.org
소개하다
Activiti
비즈니스 전문가, 개발자 및 시스템 관리자를 위한 경량 워크플로우 및 비즈니스 프로세스 관리(BPM) 플랫폼입니다. 그 중심에는 귀하에게 Java
적합한 초고속의 견고한 제작 엔진이 있습니다. BPMN 2
오픈 소스이며 Apache
라이센스에 따라 배포됩니다. Activiti
모든 Java 애플리케이션, 서버, 클러스터 또는 클라우드에서 실행됩니다. Spring과 완벽하게 통합되고 매우 가벼우며 간단한 개념을 기반으로 합니다.
프로젝트 통합
종속성 소개
<!-- Activiti7依赖 -->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter</artifactId>
<version>7.1.0.M6</version>
</dependency>
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M6</version>
<type>pom</type>
</dependency>
YML 구성 파일
server:
port: 8600
spring:
application:
name: activity7
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: jdbc:mysql://127.0.0.1:3306/activiti7?serverTimezone=Asia/Shanghai&characterEncoding=utf-8&nullCatalogMeansCurrent=true
username: root
password:
driverClassName: com.mysql.cj.jdbc.Driver
# activiti7配置
activiti:
# 自动部署验证设置:true-开启(默认)、false-关闭
check-process-definitions: false
# 保存历史数据
history-level: full
# 检测历史表是否存在
db-history-used: true
# 关闭自动部署
deployment-mode: never-fail
database-schema-update: true
# 解决频繁查询SQL问题
async-executor-activate: false
구성 클래스
import org.activiti.api.runtime.shared.identity.UserGroupManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class ActivitiSpringIdentityAutoConfiguration {
@Bean
public UserGroupManager userGroupManager() {
return new UserGroupManager() {
@Override
public List<String> getUserGroups(String s) {
return new ArrayList<>();
}
@Override
public List<String> getUserRoles(String s) {
return null;
}
@Override
public List<String> getGroups() {
return null;
}
@Override
public List<String> getUsers() {
return null;
}
};
}
}
시작 프로젝트 생성 테이블 구조
画出来的就是开始创建表结构
Activiti의 데이터베이스 지원
Activiti는 런타임 시 데이터베이스 지원이 필요하며 25개의 테이블을 사용하여 후속 사용을 위해 프로세스 정의 노드의 내용을 데이터베이스 테이블로 읽어옵니다.
activiti가 지원하는 데이터베이스 및 버전은 다음과 같습니다.
데이터베이스 유형 | 버전 | JDBC 연결 예 | 설명하다 |
---|---|---|---|
h2 | 1.3.168 | jdbc:h2:tcp://localhost/activiti | 기본적으로 구성된 데이터베이스 |
mysql | 5.1.21 | jdbc:mysql://localhost:3306/activiti?autoReconnect=true | mysql-connector-java를 사용하여 테스트 진행 |
신탁 | 11.2.0.1.0 | jdbc:oracle:thin:@localhost:1521:xe | |
포스트그레스 | 8.1 | jdbc:postgresql://localhost:5432/activiti | |
DB2 | db2jcc4를 사용하는 DB2 10.1 | jdbc:db2://localhost:50000/activiti | |
mssql | 2008년 sqljdbc4 사용 | jdbc:sqlserver://localhost:1433/activiti |
Activiti 데이터 테이블 소개
테이블 분류 | 테이블 이름 | 설명하다 |
---|---|---|
일반 데이터 | ||
[ACT_GE_BYTEARRAY] | 일반 프로세스 정의 및 프로세스 리소스 | |
[ACT_GE_PROPERTY] | 시스템 관련 속성 | |
공정 이력 | ||
[ACT_HI_ACTINST] | 역사적 프로세스 사례 | |
[ACT_HI_ATTACHMENT] | 과거 프로세스 첨부 | |
[ACT_HI_COMMENT] | 역사적 설명 정보 | |
[ACT_HI_DETAIL] | 과거 프로세스 실행에 대한 자세한 정보 | |
[ACT_HI_IDENTITYLINK] | 기록 프로세스 실행 중 사용자 관계 | |
[ACT_HI_PROCINST] | 역사적 프로세스 사례 | |
[ACT_HI_TASKINST] | 역사적 과제의 예 | |
[ACT_HI_VARINST] | 실행 중인 과거 프로세스의 변수 정보 | |
프로세스 정의 테이블 | ||
[ACT_RE_배포] | 배포 단위 정보 | |
[ACT_RE_MODEL] | 모델 정보 | |
[ACT_RE_PROCDEF] | 배포된 프로세스 정의 | |
인스턴스 테이블 실행 | ||
[ACT_RU_EVENT_SUBSCR] | 런타임 이벤트 | |
[ACT_RU_EXECUTION] | 런타임 프로세스 실행 인스턴스 | |
[ACT_RU_IDENTITYLINK] | 런타임 사용자 관계 정보, 작업 노드 및 참가자에 대한 정보 저장 | |
[ACT_RU_JOB] | 런타임 작업 | |
[ACT_RU_TASK] | 런타임 작업 | |
[ACT_RU_VARIABLE] | 런타임 변수 테이블 |
프로젝트 데모 주소:
전송: 다운로드하려면 "워크플로 항목 가져오기"