【发布时间】:2017-07-21 20:36:45
【问题描述】:
在 Jersey 文档中,Example 16.2 显示了将 SecurityContext 注入 Jersey 资源单例的示例。
文档当然是正确的,并且给出的示例确实是线程安全的。
我怀疑 SecurityContext 的注入只发生了一次,当调用 getUserPrincipal() 时,它可能会从附加到线程本身的某个结构中获取用户数据(可能是 ThreadLocal 对象?)。这是当有大量线程竞争时,我可以看到将正确的用户信息提供给最终用户的唯一方法。
任何人都可以确认这种行为,或者以其他方式解释 Jersey 示例的线程安全性吗?
【问题讨论】:
标签: jersey thread-safety