【问题标题】:Spring Security and Asynchronous executionSpring Security 和异步执行
【发布时间】:2012-11-07 21:31:22
【问题描述】:

我最近发现自己遇到了与 Lukasz 描述的 here 相同的问题。虽然这个问题的答案被证明是有帮助的,并最终帮助我解决了我的问题,但我希望有人知道为什么ThreadPoolTaskExecutor 不能正确处理MODE_INHERITABLETHREADLOCAL?这个问题是否与ThreadPoolTaskExecutor 隔离?

谢谢! 瑞恩

【问题讨论】:

    标签: java spring asynchronous spring-security


    【解决方案1】:

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

    我引用了这篇文章

    您似乎想要调用线程的上下文(它调用 executor) 来代替创建线程的上下文。 这与使用继承的线程本地不同,所以这不是 要走的路。您最好明确设置上下文 您自己,或自定义执行器实现来执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-19
      • 2015-12-17
      • 2019-05-27
      • 2012-02-22
      • 2011-04-25
      • 1970-01-01
      • 2011-01-25
      • 1970-01-01
      相关资源
      最近更新 更多