【发布时间】:2019-04-19 13:07:22
【问题描述】:
我想为每个调用休息客户端设置一个请求超时。目前我有这个:
private Client clientBuilder() {
return new ResteasyClientBuilder()
.establishConnectionTimeout(2, TimeUnit.SECONDS)
.socketTimeout(10, TimeUnit.SECONDS)
.build()
.register(ClientRestLoggingFilter.class)
.register(ObjectMapperContextResolver.class);
}
问题是,这可能不适用于 get 以外的其他方法。 更重要的是,套接字超时不是读取完整响应的超时,而是单个数据包的超时。 socketTimeout and connectionTimeout information
我正在为 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);
【问题讨论】: