您的实现不是线程安全的。当两个线程同时访问
someMethod时,它们共享相同的线程,一个线程
Client将尝试发出第二个请求,而第一个请求未完成。
您有两种选择:
- 同步对
Client
和的访问WebTarget
。 - 让容器通过注释封闭类型来管理并发性,以
@javax.ejb.Singleton
确保线程安全。(请参阅EJB规范的 4.8.5章)
如果
someMethod在容器管理的环境中,我将使用第二种方法。

您的实现不是线程安全的。当两个线程同时访问
someMethod时,它们共享相同的线程,一个线程
Client将尝试发出第二个请求,而第一个请求未完成。
您有两种选择:
Client和的访问
WebTarget。
@javax.ejb.Singleton确保线程安全。(请参阅EJB规范的 4.8.5章)
如果
someMethod在容器管理的环境中,我将使用第二种方法。