LC/Activiti7Demo/workflow.md
whai ea493390a6 feat(SpringDemo): 添加接口重试机制
- 新增重试相关的异常类和枚举类型- 实现重试切面,支持接口级别的重试限制
- 添加重试控制器和相关注解
- 修改数据库连接配置,启用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
2024-11-11 13:47:20 +08:00

2.5 KiB
Raw Blame History

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

BPMNBusiness Process Model And Notation业务流程模型和符号是由BPMIBusiness Process Management Initiative开发的一套的业务流程建模符号使用BPMN提供的符号可以创建业务流程。2004年5月发布了BPMN1.0规范。

processOn BPMN 概念

BPMN 的核心元素

  • 活动:活动是 BPMN 中最基本的元素之一,它代表了业务流程中的一个具体任务或操作。可以自动/手动、
  • 事件:事件是 BPMN 中用于表示流程中的特定时刻或状态的元素。例如,开始事件、结束事件、中间事件等。
  • 网关:网关用于控制流程的执行路径,可以实现并行、条件、互斥等多种逻辑。
  • 泳道:泳道用于将流程分解为多个并行的部分,每个泳道代表一个独立的执行路径。

一个BPMN的例子

  • 当事人填写请假单启动流程后把请假单ID绑定到流程中
  • 部门经理对请假单进行审核;
  • 然后人事经理进行复核并进行备案;
  • 最后请假流程结束。

Activiti支持的数据库

  • Activiti的运行需要数据库的支撑支持如下:

    • h2
    • MySQL
    • Oracle
    • Db2
    • postgres
    • mysql
  • 在Navicat工具中创建activiti的数据库,用于后续的实验.