2012-11-19 34 views
1

我最近发现自己有同样的问题Lukasz描述here。虽然这个问题的答案证明有帮助,并最终帮助我解决我的问题,但我希望有人可能知道为什么ThreadPoolTaskExecutor没有正确处理MODE_INHERITABLETHREADLOCAL?这个问题是否与ThreadPoolTaskExecutor分离?春季安全和异步执行

谢谢! Ryan

回答

2

好的,根据spring源码论坛中的this post,子线程中的值只有在创建线程时才由父线程设置。如果您有一个线程池供重用,则除非您更改该值,否则不会再设置该值。

我从后

引用您似乎想调用线程的上下文(调用 执行人)使用,而不是创建线程的上下文。 这不同于使用继承的线程本地,所以这不是 要走的路。你最好自己设置上下文 ,或者自定义执行程序实现。