规则解析引擎
负责解析使用者配置的规则,同时于Spring结合,将配置的 Spring Bean 解析成 TaskBean,进而通过解析引擎加载成 任务装饰器 。进而组装成任务树
任务启动器
负责通过使用解析引擎解析的任务树 。结合JUC并发框架调度实现对任务的统一管理,核心方法有
- trigger 触发任务加载器,为加载任务准备环境
负责加载任务流程,开始调用任务执行器执行核心流程
- load 核心任务流程方法,在这里阻塞等待整个任务流程
- getBeginProcess 获取子任务开始流程
- completed 任务完成
- errorInterrupted 任务失败 中断任务流程
- error 任务失败
最终的任务执行,每一个任务对应一个TaskActuator 任务的 拦截、异常、执行、线程复用 等必要条件判断都在这里处理
- prepare 任务前置处理
- preInterceptor 统一任务前置处理
- task 核心任务方法,业务执行内容
- postInterceptor 统一后置处理
- onSuccess 任务执行成功回调
- onFail 任务执行失败回调
任务流程传递总线,包括 请求参数、任务加载器、 响应结果, 该对象暴露给使用者,拿到匹配业务的数据信息,例如: 返回结果、主动中断任务流程等功能 需要任务总线(TaskSupport)支持
核心类图

文章插图
六、源码地址
访问一飞开源:https://code.exmay.com/
【多线程管理 一款功能强大、配置灵活、高性能异步编排框架】
推荐阅读
- 域名可以多长?URL长度URI长度?
- 周凯旋|周凯旋情商有多高?为了配上大30多岁的李嘉诚,故意打扮得更老成
- 一平方米等于多少公顷进率是多少 一平方米等于多少公顷
- 重阳节习俗知多少 重阳节是什么节日呢?
- 一喝水就想排尿,是肾脏不好吗? 喝水尿多是什么原因
- 一公顷等于多少平方千米进率 一公顷等于多少平方千米
- 左小青|演员左小青:一段失败的婚姻,独自带娃好多年,45岁依旧单身
- 蛋白质晶体学你知道多少呢 蛋白质晶体
- 一吨水等于多少升 一吨水等于多少立方米
- 245是多少码的鞋子 245是多少码
