Springboot activiti 整合Demo

爲何要寫這篇 由於剛開始學在網上看了不少 踩了不少坑 最後在一位熱心網友的幫助下 我才完成了此次Hello Activitijava

最近研究 Activiti 從零開始學,網上資料不少 ,大體看了準備寫個Demo,一切的框架從一個Demo開始mysql

由於公司用Springboot搭建的因此我就用 Springboot + Activiti 來寫一個Demogit

首先是pom.xmlspring

<dependencies>
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>3.4.1</version>  
        </dependency> 
        <dependency>  
            <groupId>org.apache.ibatis</groupId>  
            <artifactId>ibatis-core</artifactId>  
            <version>3.0</version>  
        </dependency> 
        <dependency>
            <groupId>org.activiti</groupId>
            <artifactId>activiti-spring-boot-starter-basic</artifactId>
            <version>5.21.0</version>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>sql

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>數據庫

 

properies配置apache

spring.datasource.url=jdbc:mysql://localhost:3306/activiti-base?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root123
spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis

#自動建立、更新、驗證數據庫表結構
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.show-sql=true框架

spring.activiti.check-process-definitions=falsespring-boot

而後畫一個流程圖 我用的是STS 其實就是Eclipse 安裝一個Activiti的插件就行(自行百度一下

你們注意一下這個文件的路徑啊 (一個新手踩過的坑

流程圖畫完了 咱們就能夠給這個跑起來啦 至於那些接口實現類什麼的 我還沒看呢 畢竟我也是一個新手

如今告訴你們怎麼給這個流程圖跑起來

重點來了 我看了那麼多博客沒有一個告訴我說要先把流程部署起來他才能run

因此咱們先部署

在你的測試類中寫

@Test
    public void contextLoads() {
        
        // 1. 部署一個流程定義   [我記得是有3種方式]
        
     Deployment deployment =     repositoryService
            .createDeployment()  // 建立一個Deployment
            .name("test流程")          // 給流程起的一個名字
            .addClasspathResource("processes/MyProcess.bpmn")    // bpmn的路徑  你這裏沒有png圖片 ,因此 就用這一個
            .deploy();
        
     System.out.println("流程部署ID:" +deployment.getId());
     System.out.println("流程部署時間:" +deployment.getDeploymentTime());
     System.out.println("流程部署名稱:" +deployment.getName());

而後run一下

而後去你的數據庫看一下

你會發現多了一些表 這些就是activiti的表


     部署完以後你會在 act_re_deployment -> 流程部署表 這個表中發現你部署的項目 就說明你的項目部署上了 如今能夠run了


    @Test
    public void startProcessInstance() {
        // ok 部署完成以後讓咱們啓動這個流程

        runtimeService.startProcessInstanceByKey("myProcess");  
    }

run完了以後 act_hi_procinst -> 流程實例表 這個表中你能夠看見你的流程圖run出來的實例

部署一個流程這個表中就會有一個實例

而後你能夠觀察一下 act_ru_task -> 任務表(正在執行的任務)、act_ho_taskinst -> 歷史任務 這兩個任務

歷史任務表裏已經有了一條記錄。可是他的狀態是未完成
看正在執行的任務表,裏面也有一條數據。這是當前正在執行的任務。

ok 這個小Demo完成了

代碼已經放到馬雲上了 https://gitee.com/mike_liu/Activiti_Demo.git 歡迎你們下載查看

相關文章
相關標籤/搜索