## 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 统一确定是否抛出异常。

### 使用方法
