网站首页 > java教程 正文
1 Bladex Workflow简介
- 基于Avue的表单设计器,拥有丰富的表单组件,并支持自定义业务组件
- 基于Bpmn.js的流程设计器,支持 设计、预览两种设计模式、3种常见流程引擎、流程总表单设计与节点表单设计、节点按钮显示配置、模型校验、MiniMap、流程模拟 等功能
- 基于Flowable的流程引擎,支持 模型设计、多实例会签、流程监控等功能
官网:https://bladex.vip/#/market/flow
2 Flowable简介
1) Flowable是使用Java语言编写的轻量级业务流程引擎开源软件。Flowable流程引擎可以设计/部署BPMN 2.0流程定义(定义流程的行业XML标准), 创建这些流程定义的流程实例,访问/操作运行中或历史的流程实例与相关数据,等等。
2) Flowable可以十分灵活地加入你的应用/服务/构架。可以将JAR形式发布的Flowable库加入到应用或服务,来嵌入Flowable流程引擎。 以JAR形式发布使Flowable可以轻易加入任何Java环境:Java SE;Tomcat、Jetty或Spring之类的servlet容器;JBoss或WebSphere之类的Java EE服务器等等。
- 中文文档:https://tkjohn.github.io/flowable-userguide/
- 英文文档:https://www.flowable.org/docs/userguide/index.html
3 workflow部署和配置-参考文档《BladeX插件 - Blade-flow使用帮助文档 》
bladex将工作流模块workflow设计为一个插件微服务,并且单独使用一个数据库bladex_workflow,与业务库隔离。基本使用参考文档《BladeX插件 - Blade-flow使用帮助文档 》
4 配置任务监听
1)workflow采用的是TaskListener监听SequenceFlow的监听器,监听任务有4种
- create 任务创建之前
- assignment ?
- complete 任务完成之后
- delete ?
2) 首先我们先创建需要监听的类
我们以请转正流程为例子,创建一个listener的包然后创建UserFormalTaskListener类,实现TaskListener接口。
3) 配置流程任务监听参数
进入模型设计界面,配置流程任务监听参数,我们选择配置complete类型任务,即审批完成后触发业务逻辑。(注意:任务监听实现类中,实现了审批通过才处理业务逻辑。)
设置好之后点击保存,这个时候我们可以导出流程的XML进行查看,可以看到配置了对应的任务监听。
4)部署流程。
5)发起流程测试
4.1 问题:监听类注入不了service
在我们的回调事件里面可能会注入不了service,我们使用一个获取bean的工具类SpringUtil来注入所需要的bean。
5 配置事件监听
bladex采用的是ExecutionListener 监听SequenceFlow的监听器,监听事件有3种
- start 流程执行前
- take 流程执行
- end 流程执行前
同上,与任务监听类似
6 复杂表单-配置外部表单(不建议配置超大表单,如入职申请)
外置表单后端只需配置流程key和键值对即可。不建议配置超过20个字段的表单。
6.1 外置表单申请页和详情页查看
外置表单申请页和详情页,需要前端开发相应页面。参考前端已开发外置表单vue页面。
7 如何配置驳回至申请人流程
参考已有转正流程,流程新增一个申请节点,后续审批节点都配置默认驳回到申请节点。
8 异常如何抛出和抛出原理?
通过自定义的FlowableException抛出异常。(代码逻辑中,删除了flowable框架中用户不友好的提示)
9 如何进行日志增强和消息配置
通过在WfNoticeServiceImpl类中,对日志和消息提示进行二次开发。
10 如何自定义审批人
通过流程表达式,自定义处理人。具体WfUserTaskActivityBehavior.java中实现新的case即可
11 流程如何上线
拷贝ACT_DE_MODEL和blade_wf_form两个表的对应的需要上线的模型和表单记录,插入到生产数据库。
12 修改流转信息
13 定时发起流程功能
14 多实例部署
取流水号用了bladex的RedisLock,需要打开Redis分布式锁
15 流程权限不生效如何排查 查询
1)流程权限查询原理wfProcessController类, deploymentPage函数中实现
2)流程权限保存原理 wfModelScopeServiceImpl类,submit函数中实现
16 新增待审批节点信息查询
用户通过流转信息,可以查看下一个审批节点处理人。
猜你喜欢
- 2024-10-27 30分钟学会:springboot+mysql+camunda开源工作流引擎
- 2024-10-27 详解JavaEE中级程序员路线图,其涉及课程资源已更新
- 2024-10-27 吐血推荐一款开源工作流引擎:camunda使用入门
- 2024-10-27 工作流引擎开发系列一基础知识(工作流引擎的好处)
- 2024-10-27 超轻量级工作流引擎,只要七张表就解决工作流ingens...
- 2024-10-27 Windmill:最快的自托管开源工作流引擎
- 2024-10-27 Springboot整合工作流引擎Activiti(二)
- 2024-10-27 流程智慧:低代码开发平台工作流引擎的技术原理解析
- 2024-10-27 工作流引擎的工作原理与功能(工作流引擎是什么意思)
- 2024-10-27 免费开源,一款快速开发模块化脚手架,含工作流引擎
你 发表评论:
欢迎- 最近发表
-
- Java常量定义防暴指南:从"杀马特"到"高富帅"的华丽转身
- Java接口设计原则与实践:优雅编程的艺术
- java 包管理、访问修饰符、static/final关键字
- Java工程师的代码规范与最佳实践:优雅代码的艺术
- 编写一个java程序(编写一个Java程序计算并输出1到n的阶乘)
- Mycat的搭建以及配置与启动(mycat部署)
- Weblogic 安装 -“不是有效的 JDK Java 主目录”解决办法
- SpringBoot打包部署解析:jar包的生成和结构
- 《Servlet》第05节:创建第一个Servlet程序(HelloSevlet)
- 你认为最简单的单例模式,东西还挺多
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)