whai
ea493390a6
- 新增重试相关的异常类和枚举类型- 实现重试切面,支持接口级别的重试限制 - 添加重试控制器和相关注解 - 修改数据库连接配置,启用SSL Changes application.yaml AppTest.java AppTest.java BockingQueueDemo.java BuinessException.java DelayQueueDemo.java ErrorType.java FunctionInterfaceDemo.java FutureRelative.java LCR155.java LCR186.java LeetCod42_1.java LeetCode15.java LeetCode45.java LeetCode48.java LeetCode51.java LeetCode392.java LeetCode494.java LeetCode718.java LeetCode_32.java P1.java pom.xml pom.xml pom.xml pom.xml RetryAspect.java RetryController.java RetryLimit.java sadasf.bpmn20.xml sdoih.bpmn SpringDemoApplication.java workflow.md Unversioned Files C:\Users\wenhai\project\javaProject\LeetCode\Activiti7Demo\.gitignore C:\Users\wenhai\project\javaProject\LeetCode\Activiti7Demo\src\main\java\cn\whai\activiti\Activiti7DemoApplication.java C:\Users\wenhai\project\javaProject\LeetCode\Activiti7Demo\src\test\java\cn\whai\activiti\activiti7demo\Activiti7DemoApplicationTests.java C:\Users\wenhai\project\javaProject\LeetCode\Activiti7Demo\src\main\resources\application.yaml C:\Users\wenhai\project\javaProject\LeetCode\Activiti7Demo\pom.xml
2.5 KiB
2.5 KiB
WordFlow 工作流引擎
是一种按照预定义规则【需要符合BPMN规范】进行部署,将业务和节点的流程进行分离【特定形式进行关联】,
二、什么是Activiti7?
Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的 建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行
2.2 Activiti7内部核心机制
1️⃣业务流程图要规范化,需要遵守一套标准。
2️⃣业务流程图本质上就是一个XML文件,而XML可以存放所要的数据。
3️⃣读取业务流程图的过程就是解析XML文件的过程。
4️⃣读取一个业务流程图的结点就相当于解析一个XML的结点,进一步将数据插入到MySQL表中,形成一条记录。
5️⃣将一个业务流程图的所有节点都读取并存入到MySQL表中。
6️⃣后面只要读取MySQL表中的记录就相当于读取业务流程图的一个节点。
7️⃣业务流程的推进,后面就转换为读取表中的数据,并且处理数据,结束的时候这一行数据就可以删除了。
BPMN
BPMN(Business Process Model And Notation),业务流程模型和符号,是由BPMI(Business Process Management Initiative)开发的一套的业务流程建模符号,使用BPMN提供的符号可以创建业务流程。2004年5月发布了BPMN1.0规范。
BPMN 的核心元素
- 活动:活动是 BPMN 中最基本的元素之一,它代表了业务流程中的一个具体任务或操作。可以自动/手动、
- 事件:事件是 BPMN 中用于表示流程中的特定时刻或状态的元素。例如,开始事件、结束事件、中间事件等。
- 网关:网关用于控制流程的执行路径,可以实现并行、条件、互斥等多种逻辑。
- 泳道:泳道用于将流程分解为多个并行的部分,每个泳道代表一个独立的执行路径。
一个BPMN的例子:
- 当事人填写请假单,启动流程后把请假单ID绑定到流程中;
- 部门经理对请假单进行审核;
- 然后人事经理进行复核并进行备案;
- 最后请假流程结束。
Activiti支持的数据库
-
Activiti的运行需要数据库的支撑,支持如下:
- h2
- MySQL
- Oracle
- Db2
- postgres
- mysql
-
在Navicat工具中创建
activiti
的数据库,用于后续的实验.