java - java Jersey 2.1客户端线程安全吗?

标签 java thread-safety jersey jersey-client jersey-2.0

Documentation for jersey 2.0 says :

Client instances are expensive resources. It is recommended a configured instance is reused for the creation of Web resources. The creation of Web resources, the building of requests and receiving of responses are guaranteed to be thread safe. Thus a Client instance and WebResource instances may be shared between multiple threads

客户端在 2.1 版中仍然是线程安全的吗?我在 docs for 2.1. 中找不到有关线程安全的信息

最佳答案

是的,Jersey 2.1 客户端是线程安全的,即使在未来的 Jersey 版本中也应该是线程安全的。您可以从一个 Client 实例创建多个 WebTarget,并在这些 WebTarget 上调用多个请求,甚至在一个 WebTarget 实例上同时调用更多请求。

如果您将自定义的非线程安全提供程序注册到客户端或 WebTget 中,则可能会破坏线程安全。例如,非线程安全且无法同时处理更多请求的 ClientRequestFilter。 Jersey 内置提供程序是线程安全的。一些 Jersey 扩展提供程序不能是线程安全的,在这种情况下,这是在提供程序的 javadoc 中指定的。

关于java - java Jersey 2.1客户端线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18078666/

相关文章:

java - 我的扫雷器 dot java 出了什么问题

c# - System.Reflection.Emit 的线程安全性如何?

java - 将 JMock 资源与 Jersey 测试框架结合使用

java - 如何解决java.lang.OutOfMemoryError?

maven - 如何将 Swagger 无配置设置与 Jersey 2 集成

java - 如何用多态替换switch?

java - 名为 isActive 的 boolean 变量的 setter

java - 同一类中两个具有 int 和 long 参数的构造函数

c# - C# 中的单例线程安全 - 为什么要添加双重检查?

java - Scanner.hasNext() 在正常运行时返回 false,但在调试时返回 true