我有一个java Web应用程序,我正在使用restTamplate向另一个Web服务发出调用请求。查看perf4j统计日志,我看到大于60秒的时间,即该服务的连接和读取超时。我怀疑该服务很慢,并使我的应用程序达到最大连接池线程,这就是为什么我看到时间更大的超时。我如何监控连接mannager线程?我现在默认情况下,这个实现将为每个给定路由创建不超过2个并发连接,并且总共不再有20个连接。
@Bean
public RestTemplate restTemplate(final RestTemplateBuilder builder) {
HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
httpRequestFactory.setConnectTimeout(Integer.parseInt(db.getSystemProperty("ConnectTimeout")));
httpRequestFactory.setReadTimeout(Integer.parseInt(db.getSystemProperty("ReadTimeout")));
// RestTemplate restTemplate = builder.requestFactory(httpRequestFactory).build();
RestTemplate restTemplate = builder.customizers(new RestLoggingCustomiser(httpRequestFactory,new RestRequestResponseLoggingInterceptor())).build();
LOGGER.info("Initialised Spring's RestTemplate.");
return restTemplate;
}