当前位置:   article > 正文

SpringBoot整合Flowable

SpringBoot整合Flowable

1. 配置

(1) 引入maven依赖

  1. <dependency>
  2. <groupId>org.flowable</groupId>
  3. <artifactId>flowable-spring-boot-starter</artifactId>
  4. <version>6.7.2</version>
  5. </dependency>
  6. <!-- MySQL连接 -->
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version>8.0.19</version>
  11. </dependency>

(2)配置文件

  1. spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
  2. spring.datasource.url= jdbc:mysql://localhost:3306/flowable?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
  3. spring.datasource.username = root
  4. spring.datasource.password= root

(3)启动项目即可在数据库自动生成相关表

数据库表组说明
act_app_*跟应用程序相关的表。
act_cmmn_*跟 CMMN 协议相关的表。
act_co_*跟内容引擎相关的表
act_dmn_*跟 DMN 协议相关的表。
act_evt_log事件日志表
act_fo_*表单相关的表,这些表主要存储表单相关的数据。
act_ge_*通用表,普通数据,各种情况都使用的数据。
act_hi_*历史数据的表,这些表包含着历史的相关数据,如结束的流程实例,变量,任务,等等。
act_id_*用户用户组表 /身份数据表,这些表包含标识的信息,如用户,用户组,等等。
act_procdef_info流程定义动态改变信息表
act_re_*流程的定义、流程的资源表,这些表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
act_ru_*运行时信息表,存储着流程变量,用户任务,变量,职责(job)等运行时的数据。只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
flw_channel_definition都是跟泳道相关的表。
flw_ev_*跟 Liquibase 相关的表。
flw_event_*跟事件相关的表。
flw_ru_*运行时信息表。

(4)画流程图

       a. 安装 IDEA 插件:lowable BPMN visualizer    
       b. 在 resources 目录下新建 processes 目录,该目录下的流程文件将来会被自动部署。
       c. 在 processes 目录下,新建一个 BPMN 文件,固定后缀为.bpmn20.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:flowable="http://flowable.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/processdef">
  3. <process id="demo" name="demo" isExecutable="true">
  4. <startEvent id="sid-507da2f8-ca68-4e25-a256-c9e4e98a8e30"/>
  5. <userTask id="sid-57c1b617-c369-4556-8154-a620652b3ffd" name="申请人" flowable:assignee="${crew}" flowable:formFieldValidation="true"/>
  6. <sequenceFlow id="sid-14435c94-d0a5-4199-b6fb-c08739f014f3" sourceRef="sid-507da2f8-ca68-4e25-a256-c9e4e98a8e30" targetRef="sid-57c1b617-c369-4556-8154-a620652b3ffd" name="开始流程"/>
  7. <sequenceFlow id="sid-023ac358-3952-42fb-8f59-0ea3fb4d55bd" sourceRef="sid-57c1b617-c369-4556-8154-a620652b3ffd" targetRef="sid-e656adbe-9181-4852-9df4-3e6c79f6933a" name="通过"/>
  8. <userTask id="sid-e656adbe-9181-4852-9df4-3e6c79f6933a" name="组长" flowable:assignee="${leader}" flowable:formFieldValidation="true"/>
  9. <endEvent id="sid-312fd1bd-1a79-46f1-956c-b89aab8a03af"/>
  10. <sequenceFlow id="sid-dfe46275-5cb0-40cd-8bd3-b5b9c4178dd6" sourceRef="sid-e656adbe-9181-4852-9df4-3e6c79f6933a" targetRef="sid-312fd1bd-1a79-46f1-956c-b89aab8a03af"/>
  11. </process>
  12. <bpmndi:BPMNDiagram id="BPMNDiagram_demo">
  13. </bpmndi:BPMNDiagram>
  14. </definitions>

注:
        可使用第三方在线画流程图 ,例如: 流程设计器-演示 (tulangkj.com) 可用于生成流程文件与决策文件。

(5)调用相关API处理流程

  1. @Resource
  2. RuntimeService runtimeService;
  3. @Resource
  4. TaskService taskService;
  5. /**
  6. * 通过流程id开启一个流程,并设置变量,用于流程图 ${name} 动态赋值
  7. */
  8. @Test
  9. void contextLoads() {
  10. HashMap<String, Object> variables = new HashMap<>();
  11. variables.put("leader","zp");
  12. variables.put("crew","zj");
  13. ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("demo", variables);
  14. System.out.println(processInstance.getProcessInstanceId());
  15. }
  16. /**
  17. * 通过分配任务的人获取任务并处理任务
  18. */
  19. @Test
  20. void contextLoads1() {
  21. List<Task> list = taskService.createTaskQuery().taskAssignee("zp").orderByTaskId().desc().list();
  22. for (Task task : list) {
  23. taskService.complete(task.getId());
  24. }
  25. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/982782
推荐阅读
相关标签
  

闽ICP备14008679号