有一个 A 任务,可以分为 a1,a2……an 子任务,当子任务中遇到某种异常的时候重复执行 3 次,如果还是报异常就抛出,其他的错误直接抛出,如果子任务报错,A 任务整体回滚,返回报错信息。求教一下这种要求应该怎么写
有一个 A 任务,可以分为 a1,a2……an 子任务,当子任务中遇到某种异常的时候重复执行 3 次,如果还是报异常就抛出,其他的错误直接抛出,如果子任务报错,A 任务整体回滚,返回报错信息。求教一下这种要求应该怎么写
|
1
求教
|
|
wolfieFeb 9, 2021
2
接口实时返回的,跟 async 没啥关系吧。
forkjoin 多任务并行、Guava retry 指定异常充视。 |
|
whisperceroFeb 9, 2021
3
用消息实现不就可以了么
|
|
5
@whispercero 能问一下具体应该怎么做吗
|
|
TeeMoCodeFeb 9, 2021
6
能不能上点代码,看起来直观点
|
|
wangyanruiFeb 9, 2021 via iPhone
7
个人建议:自己开个线程池,手写任务,手动控制比较好
|
|
VedarFeb 9, 2021
8
子任务执行完之后就等着主任务的状态通知(失败就重试 ) 如果主任务收集到所有子任务都完成了 就提交事务 否则就回滚 主任务就负责发起和监测子任务 就行了
|
|
leeg810312Feb 9, 2021 via Android
9
这不是 map reduce ? JAVA stream API 不就可以吗
|
|
br00kFeb 9, 2021
10
你这样的应该按同步处理,事物会滚。如果可以异步,担心失败可以用消息队列方式处理。
|
|
chocotanFeb 9, 2021
11
spring-retry
|
|
Mystery0Feb 9, 2021 via Android
12
重试+分布式事务
|
|
kingfalseFeb 9, 2021 via Android
13
没太听明白你的具体意思,但是感觉你需要的是 CompletableFuture alloff 之类的
|