我希望为每个调用rest客户端设置请求超时时间。目前我的代码如下:
private Client clientBuilder() {
return new ResteasyClientBuilder()
.establishConnectionTimeout(2, TimeUnit.SECONDS)
.socketTimeout(10, TimeUnit.SECONDS)
.build()
.register(ClientRestLoggingFilter.class)
.register(ObjectMapperContextResolver.class);
}
问题在于,这可能只适用于get方法而不适用于其他方法。此外,套接字超时并非针对完整响应的读取超时,而是针对单个数据包的超时。有关 socketTimeout 和 connectionTimeout 的信息 我正在寻找类似于Jersey中以下解决方案的RestEasy解决方案:
import org.glassfish.jersey.client.ClientProperties;
ClientConfig configuration = new ClientConfig();
configuration.property(ClientProperties.CONNECT_TIMEOUT, 1000);
configuration.property(ClientProperties.READ_TIMEOUT, 1000);
Client client = ClientBuilder.newClient(configuration);