Java SpringBoot는 Activiti7 워크플로를 통합합니다.

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] 런타임 변수 테이블

프로젝트 데모 주소:

여기에 이미지 설명 삽입
전송: 다운로드하려면 "워크플로 항목 가져오기"

추천

출처blog.csdn.net/A_yonga/article/details/132106475