FAQ
# Q: logConfig不配置默认为空导致整体无法运行
# Q:最新版本导入缺失依赖?com.jd.gobrs
# Q:spring.gobrs.async.rules 配置多个name时,rules 后面的字符串很长
# Q:为什么依赖jar包里GobrsAsyncProperties类中的rules属性变成string了?
# Q:任一任务失败时如何实现全体任务回滚?
# Q:建议readme的编码格式改为utf-8
# Q: 主线程卡死,无法得到响应 1.2.1版本?
# Q: 编排任务中nessary默认为false,不执行任务,望修改为默认true
# logConfig不配置默认为空导致整体无法运行
Q:重现场景:执行example里FutureResult的测试类,在经过GobrsAsync.go之后,执行trigger,logconfig为空导致后续无法执行 原因:通过配置文件logConfig不管是否配置,解析未生效 初步解决方案:com.gobrs.async.core.engine.RulePostProcessor#init()强制设置LogConfig参数 A:更新下最新代码,已完成功能修复。
# 最新版本导入缺失依赖?com.jd.gobrs
Q:未解析的依赖项: 'com.jd.gobrs:gobrs-async-core:jar:1.0.5-SNAPSHOT'
<dependency>
<groupId>com.jd.gobrs</groupId>
<artifactId>gobrs-async-core</artifactId>
<version>${gobrs.asnyc.version}</version>
</dependency>
A: 已将京东内网文件删除,请重新更新代码查看!
# spring.gobrs.async.rules配置多个name时,rules后面的字符串很长
Q:spring.gobrs.async.rules 配置多个name时,rules 后面的字符串很长,不便于阅读与维护,个人建议 rules 是否可将对应的数据类型改成 List,yaml中配置更加直观 A: 可以换行的。下个版本支持~ Q: please assigned it to me A: OK Fork the project and submit pr, I will merge it for you
# 为什么依赖jar包里GobrsAsyncProperties类中的rules属性变成string了?
A: rules 属性类型由 string 变成 对象了 有使用者希望在配置的时候更加方便些
# 任一任务失败时如何实现全体任务回滚?
A: 需要在rollback方法中写一个事务补偿实现, 框架在出现异常后会回调该补偿方法。
# 建议readme的编码格式改为utf-8
A: 已经调整为utf-8
# 主线程卡死,无法得到响应 1.2.1版本
环境说明:
io.github.memorydoc gobrs-async-starter 1.2.1-RELEASE
场景配置:
spring:
gobrs:
async:
rules:
- name: "test"
content: "AService->BService->CService,FService->HService"
其中BService 抛出异常,BService配置
public class BService extends AsyncTask<Object, Object>
现象:
主线程卡死无返回。
原因是在 com.gobrs.async.TaskLoader#stopSingleTaskLine
处理时候upstreamDepdends
把变量处理为 -1.
建议这块stop 必须处理的不在 采用外围的 计数, 而是必须促发 且 使用变量控制只能促发一次
A: 已经修复到最新版本里,感谢提出问题!
# 编排任务中nessary默认为false,不执行任务,望修改为默认true?
A: 收到 马上安排!😎