RESTEASY004655:无法调用ReasteasyClient

时间:2017-05-10 20:31:16

标签: java multithreading client resteasy

我创建了一个用于进行休息调用的Spring bean。这个bean是一个单身人士。

@Component
public class MyClient {

     private transient ResteasyClientBuilder builder;

     @PostConstruct
     public void init() {
         builder = (ResteasyClientBuilder) ClientBuilder.newBuilder();
         builder.establishConnectionTimeout(10000, TimeUnit.MILLISECONDS);
         builder.socketTimeout(10000, TimeUnit.MILLISECONDS);
     }

     public void makeHttpCall(String url){
         ResteasyClient client = builder.build();
         ResteasyWebTarget target = client.target(url);
         Builder invocationBuilder = target.request();
         Response response = invocationBuilder.post(...);
     }
}

MyClient为每个请求创建一个新的ResteasyClient。这个客户端大部分时间都运行良好,但偶尔会抛出RESTEASY004655: Unable to invoke request异常。谁能给我一些关于为什么会发生这种情况以及如何解决它的提示?非常感谢!

我知道客户端应该被重用,但在我的情况下,我只重用了构建器,这样我就不用担心现在多个线程访问同一个客户端。

如果多个线程同时访问同一个客户端,我将无法调用异常。但是,在这种情况下,会为每个请求创建一个新客户端。

0 个答案:

没有答案