Gobrs-Async Gobrs-Async
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
🚘首页
🧧指南
🍭FAQ
💖支持
🚨加入群聊
🍅GitEE (opens new window)
GitHub (opens new window)
  • 🥪项目特性

    • 🍿框架设计
  • 🎒框架设计

    • 🥧简介
    • 🍿框架设计
    • 🍍框架落地
  • 🍖快速开始

    • 🍔快速上手
    • 🌭框架集成
    • 🥤启动流程
    • 🍪流程参数
    • 🏝流程结果
  • 🥘规则配置

    • 🍅规则配置
  • 🥊任务类型

    • 🍅普通任务
    • 💥重试任务
      • 重试任务
      • 单测用例
      • 运行结果
    • ☄️事务任务
    • 🌈超时任务
    • ⛱方法任务
  • 🔥高级特性

    • 💐线程复用
    • 🧋运行日志
    • 🍜规则热更新
    • 🍑任务中断
    • 🌺可选子流程
    • 🌹状态流程
    • 🍒异常拦截
    • 🥪全局任务拦截
    • 🍏自定义线程池
    • 🍒可选的执行流程
  • 🚐插件

    • 🛻插件简介
    • 🏚监控系列

      • ⛽️skywalkiing
      • 🏖hippo4j
    • 🛸日志系列

      • 🚧全链路traceId
  • 🍿性能考量

    • 🍎框架压测
    • 🍹框架对比
    • 🧅版本号手册
  • 🌕展望

    • 🍊展望
  • 🍯联系作者

    • 🥐加群沟通
目录

💥重试任务

# 重试任务

执行中的任务会出现异常的情况,如果使用者有对任务失败重试的需求,Gobrs-Async 也为你提供了支持,只需要在 需要开启重试的任务 bean 中使用 @Task(retryCount = 10) 注解,框架则自动会为你开启重试模式。 retryCount 所跟的数字为 重试次数

@Component
@Task(retryCount = 10)
public class BService extends AsyncTask<Object, Object>  {
// ...
}

# 单测用例

单测地址 (opens new window)

# 运行结果

2022-12-09 19:36:35.444  INFO 99720 --- [pool-2-thread-1] c.g.a.test.task.retry.CaseRetryTaskA     : caseRetryTaskA 使用线程---pool-2-thread-1
CaseRetryTaskA Begin
CaseRetryTaskA End
2022-12-09 19:36:35.458  INFO 99720 --- [pool-2-thread-1] c.g.a.test.task.retry.CaseRetryTaskC     : caseRetryTaskC 使用线程---pool-2-thread-1
2022-12-09 19:36:35.458  INFO 99720 --- [pool-2-thread-2] c.g.a.test.task.retry.CaseRetryTaskB     : caseRetryTaskB 使用线程---pool-2-thread-2
CaseRetryTaskC Begin
CaseRetryTaskB Begin
CaseRetryTaskC Finish
CaseRetryTaskB Begin
CaseRetryTaskB Begin
CaseRetryTaskB Begin
CaseRetryTaskB Begin
2022-12-09 19:36:35.475 ERROR 99720 --- [pool-2-thread-2] com.gobrs.async.core.task.AsyncTask      : [traceId:11770907551682560] caseRetryTaskB 任务执行失败

java.lang.ArithmeticException: / by zero
	at com.gobrs.async.test.task.retry.CaseRetryTaskB.task(CaseRetryTaskB.java:27) ~[classes/:na]
	at com.gobrs.async.core.task.AsyncTask.taskAdapter(AsyncTask.java:124) ~[classes/:na]
	at com.gobrs.async.core.TaskActuator.call(TaskActuator.java:145) ~[classes/:na]
	at com.alibaba.ttl.TtlCallable.call(TtlCallable.java:58) [transmittable-thread-local-2.11.2.jar:na]
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266) [na:1.8.0_251]
	at java.util.concurrent.FutureTask.run(FutureTask.java) [na:1.8.0_251]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_251]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_251]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_251]

2022-12-09 19:36:35.476 ERROR 99720 --- [pool-2-thread-2] c.g.a.test.inteceptor.GobrsInterceptor   : Execute global interceptor  error
Last Updated: 12/11/2022, 4:27:25 PM
🍅普通任务
☄️事务任务

← 🍅普通任务 ☄️事务任务→

最近更新
更多文章>
Gobrs-Async | Copyright © 2022-2023 Memorydoc | Apache License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式