Documentation for jersey 2.0 says:
客户端实例是昂贵的资源。建议一个 已配置的实例可用于创建Web资源。该 创建Web资源,建立请求和接收 响应保证是线程安全的。因此客户端实例和 WebResource实例可以在多个线程之间共享
客户端在2.1版中是否仍然是线程安全的?我在docs for 2.1.
中找不到有关线程安全的信息答案 0 :(得分:21)
是的,Jersey 2.1客户端是线程安全的,即使在将来的Jersey版本中也应该是线程安全的。您可以从一个Client实例创建许多WebTarget,并在这些WebTargets上调用许多请求,同时在一个WebTarget实例上调用更多请求。
如果将自定义非线程安全提供程序注册到客户端或WebTaget中,则可以破坏线程安全性。例如,ClientRequestFilter不是线程安全的,无法同时处理更多请求。 Jersey内置提供程序是线程安全的。某些Jersey扩展提供程序不能是线程安全的,在这种情况下,这是在提供程序的javadoc中指定的。
答案 1 :(得分:1)
我认为,基于2.1 release notes,在这方面没有任何改变,但我无法找到文档中此更改的动机。