首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Spring Boot3.x集成Flowable7.x(一)Spring Boot集成与设计、部署、发起、完成简单流程

  • 25-04-25 10:41
  • 3748
  • 6951
blog.csdn.net

一、Flowable简介

Flowable 是一个轻量级、开源的业务流程管理(BPM)和工作流引擎,旨在帮助开发者和企业实现业务流程的自动化。它支持 BPMN 2.0 标准,适用于各种规模的企业和项目。Flowable 的核心功能包括流程定义、流程执行、任务管理、历史记录查询等,广泛应用于企业级应用中。

官网:https://www.flowable.com/open-source/docs/

二、Spring Boot3整合

环境:JDK21、Spring Boot3.4.1、Flowable7.1.0

1.引入依赖 

  1. <dependency>
  2. <groupId>org.flowablegroupId>
  3. <artifactId>flowable-spring-boot-starterartifactId>
  4. <version>7.1.0version>
  5. dependency>

2.yml配置

注意本文数据源、数据库是MySQL和Druid,各位码友请根据实际情况调整

  1. spring:
  2. #配置数据源
  3. datasource:
  4. #MySQL
  5. driver-class-name: com.mysql.cj.jdbc.Driver
  6. url: jdbc:mysql://127.0.0.1:3306/foleable?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
  7. username: root
  8. password: 123456
  9. type: com.alibaba.druid.pool.DruidDataSource
  10. flowable:
  11. # 开启定时任务JOB
  12. async-executor-activate: true
  13. # 在引擎启动时,会自动更新数据库架构
  14. database-schema-update: true

3.线程池配置

1.提供一个全局的默认线程池

2.提供一个folwable依赖的线程池,注意Bean的名称一定要是applicationTaskExecutor

  1. import org.springframework.context.annotation.Bean;
  2. import org.springframework.context.annotation.Configuration;
  3. import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
  4. import java.util.concurrent.ThreadPoolExecutor;
  5. /**
  6. * 统一线程池管理
  7. *
  8. * @author xie
  9. **/
  10. @Configuration
  11. public class ThreadPoolTaskConfig {
  12. @Bean("applicationTaskExecutor")
  13. public ThreadPoolTaskExecutor applicationTaskExecutor() {
  14. ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
  15. //此方法返回可用处理器的虚拟机的最大数量; 不小于1
  16. int core = Runtime.getRuntime().availableProcessors();
  17. executor.setCorePoolSize(core);//设置核心线程数
  18. executor.setMaxPoolSize(core * 2 + 1);//设置最大线程数
  19. executor.setKeepAliveSeconds(120);//除核心线程外的线程存活时间
  20. executor.setQueueCapacity(120);//如果传入值大于0,底层队列使用的是LinkedBlockingQueue,否则默认使用SynchronousQueue
  21. executor.setThreadNamePrefix("thread-default-execute");//线程名称前缀
  22. executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());//设置拒绝策略,抛出 RejectedExecutionException来拒绝新任务的处理。
  23. // executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());//设置拒绝策略,使用主线程
  24. // executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());//设置拒绝策略,直接丢弃掉
  25. // executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardOldestPolicy());//设置拒绝策略,丢弃最早的未处理的任务请求。
  26. return executor;
  27. }
  28. }

不配置线程池可能出现以下错误

三、流程定义

官方流程设计器

docker run -p 9096:8080 -d --name flow flowable/flowable-ui:6.8.0

访问IP加启动容器的端口

默认账户/密码:admin/test

进入设计器

创建流程并设计

创建测试流程
这里先简单画个流程 后期写个详细流程图的绘画

注:本文转载自blog.csdn.net的的文章"https://blog.csdn.net/weixin_56672359/article/details/144686125"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

139
资讯
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top