• springboot与flowable(2):流程部署


    一、创建项目

            创建springboot项目添加相关依赖。

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframework.bootgroupId>
    4. <artifactId>spring-boot-starter-webartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>org.springframework.bootgroupId>
    8. <artifactId>spring-boot-starter-testartifactId>
    9. <scope>testscope>
    10. dependency>
    11. <dependency>
    12. <groupId>org.flowablegroupId>
    13. <artifactId>flowable-spring-boot-starterartifactId>
    14. <version>7.0.1version>
    15. dependency>
    16. <dependency>
    17. <groupId>mysqlgroupId>
    18. <artifactId>mysql-connector-javaartifactId>
    19. <version>8.0.33version>
    20. dependency>
    21. <dependency>
    22. <groupId>com.alibabagroupId>
    23. <artifactId>druidartifactId>
    24. <version>1.2.20version>
    25. dependency>
    26. <dependency>
    27. <groupId>org.projectlombokgroupId>
    28. <artifactId>lombokartifactId>
    29. <scope>annotationProcessorscope>
    30. dependency>
    31. <dependency>
    32. <groupId>org.slf4jgroupId>
    33. <artifactId>slf4j-apiartifactId>
    34. <version>2.0.13version>
    35. dependency>
    36. <dependency>
    37. <groupId>org.slf4jgroupId>
    38. <artifactId>slf4j-reload4jartifactId>
    39. <version>2.0.13version>
    40. <scope>testscope>
    41. dependency>
    42. dependencies>

            在application.yml中添加相关配置。

    1. spring:
    2. application:
    3. name: flowable-demo2
    4. datasource:
    5. driver-class-name: com.mysql.cj.jdbc.Driver
    6. # nullCatalogMeansCurrent=true 自动创建流程相关表
    7. url: jdbc:mysql://localhost:3306/flowable?useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=utf8&useSSL=false&nullCatalogMeansCurrent=true
    8. username: root
    9. password: root
    10. type: com.alibaba.druid.pool.DruidDataSource
    11. # flowable相关表
    12. flowable:
    13. # true 会对数据库中所有表进行更新操作。如果表不存在,则自动创建(建议开发时使用)
    14. database-schema-update: true
    15. # 关闭定时任务JOB
    16. async-executor-activate: false
    17. server:
    18. port: 8081
    19. logging:
    20. level:
    21. org:
    22. flowable: debug

    二、导出流程定义

            选择建模器应用程序

            选择要导出的建模 

            点击导出按钮。 

            将导出的文件复制到项目中。

    三、测试

            编写测试代码。

    1. package org.example.flowabledemo2;
    2. import org.flowable.engine.ProcessEngine;
    3. import org.flowable.engine.RepositoryService;
    4. import org.flowable.engine.repository.Deployment;
    5. import org.flowable.engine.repository.DeploymentBuilder;
    6. import org.junit.jupiter.api.Test;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.boot.test.context.SpringBootTest;
    9. @SpringBootTest
    10. class FlowableDemo2ApplicationTests {
    11. // 提供对所有公开BPM和工作流操作的服务的访问。
    12. @Autowired
    13. private ProcessEngine processEngine;
    14. // 提供对流程定义和部署的存储库的访问。
    15. @Autowired
    16. private RepositoryService repositoryService;
    17. @Test
    18. void contextLoads() {
    19. // RepositoryService repositoryService1 = processEngine.getRepositoryService();
    20. DeploymentBuilder deployment = repositoryService.createDeployment();
    21. deployment.addClasspathResource("process01/FirstFlow.bpmn20.xml");
    22. deployment.name("第一个流程图");
    23. Deployment deploy = deployment.deploy();
    24. System.out.println("deploy.getId() = " + deploy.getId());
    25. }
    26. }

            运行并打印流程ID。 

            在数据库中找到对应的流程定义信息。

  • 相关阅读:
    Java反射机制清空字符串导致业务异常分析
    Java构建器的陷阱:@SuperBuilder 和 @Builder 的坑及代码演示
    【OpenCV DNN】Flask 视频监控目标检测教程 08
    rust的struct
    探讨大型公共建筑能耗监测与信息管理系统研究及应用
    【UCIe】UCIe 协议层介绍
    CSS的行内、内嵌、链接三引入方式+属性:color\font\text\backgroun\list\样式的继承\id#锚点
    图像篡改数据集整理
    全面分析“找不到XINPUTI_3.dll无法继续执行代码”的5个解决方法总结
    【2023五一杯数学建模】B题 快递需求分析 31页论文
  • 原文地址:https://blog.csdn.net/qq_40298351/article/details/139577041