Annotation Interface AsyncHandler
异步处理器配置注解
用于配置异步事件处理器的执行参数,包括线程池选择和超时时间。
此注解可以应用于方法或类级别,当应用于类级别时,会影响该类中所有标注了
EventListener 且 async=true 的方法。
- Since:
- 1.0.0
- Version:
- 1.0.0
- Author:
- Berry_so
- See Also:
-
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescription指定异步执行使用的线程池名称long任务执行的最大超时时间(毫秒)
-
Element Details
-
threadPool
String threadPool指定异步执行使用的线程池名称线程池必须在框架配置中预先定义。如果指定的线程池不存在, 将回退到使用默认线程池 "default"。
建议为不同类型的任务配置专用线程池:
- default:轻量级任务(日志、缓存更新等)
- database:数据库操作任务
- network:网络 IO 任务
- heavy-tasks:CPU 密集型任务
- scheduled:定时任务
- Returns:
- 线程池名称,默认为 "default"
- Default:
"default"
-
timeout
long timeout任务执行的最大超时时间(毫秒)如果任务执行时间超过此值,框架会:
- 记录警告日志
- 触发超时监控事件(如果配置)
- 标记任务为超时状态
注意:超时不会强制中断任务执行,任务会继续运行直到完成或抛出异常。 建议在任务内部实现超时检查逻辑。
推荐的超时时间设置:
- 快速任务(缓存操作):1000 - 3000ms
- 一般任务(数据库查询):3000 - 10000ms
- 耗时任务(批量处理):10000 - 60000ms
- 长时间任务(数据迁移):60000ms 以上
- Returns:
- 超时时间(毫秒),默认为 5000(5秒)
- Default:
5000L
-