Skip to content

异步任务 ​

yudao-spring-boot-starter-job 技术组件,除了提供定时任务的功能,还提供了 Async 异步任务的能力。系统使用异步任务,提升执行效率。例如说:

# 1. Async 配置 ​

在 YudaoAsyncAutoConfiguration 配置类,设置使用 TransmittableThreadLocal,解决异步执行时上下文传递的问题。如下图所示: YudaoAsyncAutoConfiguration 配置 友情提示: 项目使用到 ThreadLocal 的地方,建议都使用 TransmittableThreadLocal 进行替换。

# 2. 引入依赖 ​

以访问日志模块为例,讲解它如何使用异步任务,实现异步记录【访问日志】的功能。

# 2.1 引入依赖 ​

在 yudao-module-system-infra 模块中,引入 yudao-spring-boot-starter-job 技术组件。如下所示: cn.iocoder.boot yudao-spring-boot-starter-job

# 2.2 添加 @Async 注解 ​

在 ApiAccessLogServiceImpl 的 #createApiAccessLogAsync(...) 方法上,添加 @Async 注解,声明它要异步执行。如下图所示: ApiAccessLogServiceImpl 类

# 2.3 测试调用 ​

随便请求一个 RESTful API 接口,可以看到在异步任务的线程池中,进行了访问日志的记录。如下图所示: IDEA 控制台 .pageB img{width:80px!important;} .wwads-horizontal .wwads-text, .wwads-content .wwads-text{line-height:1;} 本地缓存 分布式锁 ← 本地缓存 分布式锁→ Theme by Vdoing | Copyright © 2019-2026 芋道源码 | MIT License

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式 × .windowRB{ padding: 0;} .windowRB .wwads-img{margin-top: 10px;} .windowRB .wwads-content{margin: 0 10px 10px 10px;} .custom-html-window-rb .close-but{ display: none; }
最近更新