30 lines
1.6 KiB
Markdown
30 lines
1.6 KiB
Markdown
## Workflow Engine Spring Boot Starter
|
||
|
||
### 说明
|
||
|
||
该 module 主要是为业务方提供快速接入工作流引擎的能力,starter
|
||
的架构设计点击[查看](https://alidocs.dingtalk.com/i/nodes/Obva6QBXJwDeXvymIv1mQmR48n4qY5Pr)
|
||
|
||
### 功能点
|
||
|
||
- 包装监听 Workflow Engine 服务端所有的广播事件,业务方仅简单实现或继承指定类完成自己的业务逻辑即可,不再关注其他细节。
|
||
- 业务可实现监听器:
|
||
1. ProcessInstanceListener
|
||
2. ProcessTaskListener
|
||
3. ProcessActivityListener
|
||
4. MessageNotificationListener
|
||
- 内部与工作流的数据交互,也将异步解耦,确保在调用对端服务时,不会因为对端服务中止而失败。
|
||
- 接口需要有分类:
|
||
1. 部分接口仅支持同步调
|
||
2. 大部分接口支持同步和异步调用,
|
||
- 异步调用则是利用 MQ 进行触发
|
||
- 同步调用则是扫API包后,根据注解为某些接口生成 Feign 的代理类,而非让自动生成 Feign 代理类
|
||
3. 接口需要有调用限制的控制,并非搜有的使用方均可直接调用
|
||
4. 针对同步调用设计支持回调接口,供使用方自行处理
|
||
- 内部将主动监听 MQ 队列,避免因为顺序消费从而导致的队列阻塞。
|
||
- 降级实现,只要能确保顺序消费把所有的异常情况都考虑到,不阻塞消费便无需该功能。
|
||
- 本地启动将不再主动消费容器环境中的 MQ 广播,避免本地异常消费。
|
||
- 包装引擎抛出的所有异常,不再由业务方判断各类异常 code,而由 starter 统一确定是否抛出异常。
|
||
|
||
### 使用方法
|