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

Spring Boot - Possible to intercept @Async service methods?

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

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

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

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

您需要的是 AsyncHandlerInterceptor,这里是有关如何实际执行此操作的详细示例。

Example asynchandler