下面列出了org.springframework.http.client.OkHttp3ClientHttpRequestFactory#setConnectTimeout ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void start(final HttpConfig httpConfig) {
// init RestTemplate
OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory();
factory.setConnectTimeout((int) this.connectionTimeout.toMillis());
factory.setReadTimeout((int) HttpConstants.CLIENT_POLLING_READ_TIMEOUT);
this.httpClient = new RestTemplate(factory);
// It could be initialized multiple times, so you need to control that.
if (RUNNING.compareAndSet(false, true)) {
// fetch all group configs.
this.fetchGroupConfig(ConfigGroupEnum.values());
// one thread for listener, another one for fetch configuration data.
this.executor = new ThreadPoolExecutor(3, 3, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<>(),
SoulThreadFactory.create("http-long-polling", true));
// start long polling.
this.executor.execute(new HttpLongPollingTask());
} else {
log.info("soul http long polling was started, executor=[{}]", executor);
}
}
@Override
public RestExecutor createRestExecutor() {
RestExecutorConfig config = this.restExecutorConfig;
if(config==null){
config = new RestExecutorConfig();
}
ExtRestTemplate restTemplate = null;
if(RestUtils.isOkHttp3Present()){
OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory();
requestFactory.setConnectTimeout(config.getConnectTimeout());
requestFactory.setReadTimeout(config.getReadTimeout());
requestFactory.setWriteTimeout(config.getWriteTimeout());
restTemplate = new ExtRestTemplate(requestFactory);
}else{
restTemplate = new ExtRestTemplate();
}
return restTemplate;
}
@Override
public ClientHttpRequestFactory createRequestFactory(TimeoutConfiguration configuration) {
OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory(httpClient);
requestFactory.setConnectTimeout(toMillis(configuration.getConnection()));
requestFactory.setReadTimeout(toMillis(configuration.getRead()));
requestFactory.setWriteTimeout(toMillis(configuration.getWrite()));
return requestFactory;
}
protected RestTemplate createRestTemplate() {
Timeout timeout = recaptcha.getValidation().getTimeout();
OkHttp3ClientHttpRequestFactory requestFactory = new OkHttp3ClientHttpRequestFactory();
requestFactory.setConnectTimeout(toMilliseconds(timeout.getConnect()));
requestFactory.setReadTimeout(toMilliseconds(timeout.getRead()));
requestFactory.setWriteTimeout(toMilliseconds(timeout.getWrite()));
return new RestTemplate(requestFactory);
}