Spring Boot - 可以拦截@Async服务方法吗?

时间:2018-03-07 12:19:26

标签: java spring spring-boot aop interceptor

我目前有一个带有@Async方法的Spring服务,因此在调用它时,Spring会在没有父线程请求属性的新线程中执行它。

我需要一种方法在调用异步服务时将这些属性复制到子线程。

有没有办法添加某种类型的拦截器类,Spring会在创建新线程时调用它,我可以在其中放置逻辑来复制相关的上下文值?

理想情况下,我希望避免在方法参数中传递值。

1 个答案:

答案 0 :(得分:3)

您需要的是AsyncHandlerInterceptor,这里有一个关于如何实现这一目标的详细示例。

Example asynchandler