Spring 启动 - 可以拦截@Async 服务方法吗?
Spring Boot - Possible to intercept @Async service methods?
我目前有一个带有@Async 方法的Spring 服务,所以当它被调用时,Spring 在没有父线程请求属性的新线程中执行它。
我需要一种在调用异步服务时将这些属性复制到子线程的方法。
有没有什么方法可以添加某种拦截器 class,Spring 会在创建新线程时调用它,我可以在其中放置用于复制相关上下文值的逻辑?
理想情况下,我想避免在方法参数中传递值。
您需要的是 AsyncHandlerInterceptor,这里是有关如何实际执行此操作的详细示例。
我目前有一个带有@Async 方法的Spring 服务,所以当它被调用时,Spring 在没有父线程请求属性的新线程中执行它。
我需要一种在调用异步服务时将这些属性复制到子线程的方法。
有没有什么方法可以添加某种拦截器 class,Spring 会在创建新线程时调用它,我可以在其中放置用于复制相关上下文值的逻辑?
理想情况下,我想避免在方法参数中传递值。
您需要的是 AsyncHandlerInterceptor,这里是有关如何实际执行此操作的详细示例。