【发布时间】:2019-06-16 15:04:15
【问题描述】:
我们在 Apache tomcat 8 上部署 java spring boot 应用程序,并尝试编写适当的 java 代码。
但我们有一个旧的、低流量且不可维护的代码,其中未关闭 CloseableHttpClient 和 CloseableHttpResponse
CloseableHttpClient httpClient = HttpClients.custom().build();
try {
CloseableHttpResponse response = httpClient.execute(target, post);
...(no finally clause)
当然,根据 apache,两者都应该关闭,尽管在 quickstart 演示中 httpclient 没有关闭:
CloseableHttpClient
CloseableHttpClient httpclient = HttpClients.createDefault();
...
代码正在生产中,没有任何已知问题。
我能否知道不关闭此类资源的真正影响,以便了解修复的重要性?
以下一项或多项是否可以处理/关闭那些 http(使用代码或配置):
Tomcat/spring boot 或其他正确使用 http 客户端的代码?
【问题讨论】:
-
在tomcat上重新部署会出问题
-
它可能有一个
finalize()方法(检查源代码),使它工作正常。
标签: java spring-boot tomcat8 apache-httpclient-4.x apache-commons-httpclient