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
58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
## WordFlow 工作流引擎
|
||
|
||
是一种按照预定义规则【需要符合BPMN规范】进行部署,将业务和节点的流程进行分离【特定形式进行关联】,
|
||
|
||
|
||
### 二、什么是Activiti7?
|
||
|
||
Activiti 是一个工作流引擎, activiti 可以将业务系统中复杂的业务流程抽取出来,使用专门的
|
||
建模语言(BPMN2.0)进行定义,业务系统按照预先定义的流程进行执行
|
||
|
||
https://www.activiti.org
|
||
|
||
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规范。
|
||
|
||
> [processOn BPMN 概念](https://www.processon.com/knowledge/bpmndiagram)
|
||
>
|
||
> ### BPMN 的核心元素
|
||
> - 活动:活动是 BPMN 中最基本的元素之一,它代表了业务流程中的一个具体任务或操作。可以自动/手动、
|
||
> - 事件:事件是 BPMN 中用于表示流程中的特定时刻或状态的元素。例如,开始事件、结束事件、中间事件等。
|
||
> - 网关:网关用于控制流程的执行路径,可以实现并行、条件、互斥等多种逻辑。
|
||
> - 泳道:泳道用于将流程分解为多个并行的部分,每个泳道代表一个独立的执行路径。
|
||
|
||
> 一个BPMN的例子:
|
||
> - 当事人填写请假单,启动流程后把请假单ID绑定到流程中;
|
||
> - 部门经理对请假单进行审核;
|
||
> - 然后人事经理进行复核并进行备案;
|
||
> - 最后请假流程结束。
|
||
|
||
### Activiti支持的数据库
|
||
|
||
- Activiti的运行需要数据库的支撑,支持如下:
|
||
- h2
|
||
- MySQL
|
||
- Oracle
|
||
- Db2
|
||
- postgres
|
||
- mysql
|
||
|
||
- 在Navicat工具中创建`activiti`的数据库,用于后续的实验.
|