我最近发现自己有同样的问题Lukasz描述here。虽然这个问题的答案证明是有帮助的,并最终帮助我解决了我的问题,但我希望有人知道为什么ThreadPoolTaskExecutor
没有正确处理MODE_INHERITABLETHREADLOCAL
?此问题是否与ThreadPoolTaskExecutor
隔离?
谢谢! 莱恩
答案 0 :(得分:3)
好的,根据spring源论坛中的this post,只有在创建线程时才会从父线程设置子线程中的值。如果您有一个可供重用的线程池,则除非您更改该值,否则不会再次设置该值。
我引用帖子
您似乎想要调用线程的上下文(调用 执行器)用于代替创建线程的上下文。 这与使用继承的本地线程不同,所以不是这样 要走的路。您最好明确设置上下文 你自己,或者自定义执行器实现。