SpringBoot2整合Activiti5.22


環境:SpringBoot2.x Activiti5.22

增加pom配置

<dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>5.22.0</version>
</dependency>
 <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-jpa</artifactId>
            <version>5.22.0</version>
</dependency>

如果項目加入了mybatis 通用mapper,需要排除persistence-api

<!-- mybatis 通用mapper -->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.4</version>
            <exclusions>
                <exclusion>
                    <artifactId>persistence-api</artifactId>
                    <groupId>javax.persistence</groupId>
                </exclusion>
            </exclusions>
        </dependency>

 SpringBoot集成activiti默認會從classpath下的processes目錄下讀取流程定義文件,所以需要在src/main/resources目錄下添加processes目錄,並在目錄中創建流程文件

新建一個流程test.bpmn文件

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="Examples" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1539757531057" name="" targetNamespace="Examples" typeLanguage="http://www.w3.org/2001/XMLSchema">
  <process id="oneTaskProcess" isClosed="false" name="The One Task Process" processType="None">
    <startEvent id="theStart"/>
    <sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask"/>
    <userTask activiti:assignee="${user}" activiti:exclusive="true" id="theTask" name="my task"/>
    <sequenceFlow id="flow2" sourceRef="theTask" targetRef="theEnd"/>
    <endEvent id="theEnd"/>
  </process>
</definitions>

application.yml增加如下配置

spring:
  activiti:
    check-process-definitions: false #自動檢查、部署流程定義文件
    database-schema-update: true #自動更新數據庫結構
    #流程定義文件存放目錄
    process-definition-location-prefix: classpath:/processes/ 
    #process-definition-location-suffixes: #流程文件格式

 

啟動類,注意@SpringBootApplication注解需要設置exclude屬性

//集成activiti工作流 增加exclude = SecurityAutoConfiguration.class
@SpringBootApplication(exclude = SecurityAutoConfiguration.class)

 

然后啟動項目成功后,可以看到數據庫多了工作流相關的表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM