Java应用程序未关闭连接

Java应用程序未关闭连接,java,Java,我正在开发一个相当大的Java应用程序,它可以从不同的类进行HTTP调用以获取数据。它运行一段时间,并在运行结束时等待数小时,直到再次开始运行。(不幸的是,为什么这样做超出了我的理解范围,也超出了我的控制范围。) 我有一个问题,因为在运行之间,一些HTTP连接保持打开状态(我用netstat-p | grep检查)。我已经检查了代码,看看我们应该在哪里关闭连接,但是没有,也找不到任何东西。大多数请求的类型为解组器。解组器(url) 所以我的问题是:在运行结束时,是否有一种方法可以检查此应用程序维

我正在开发一个相当大的Java应用程序,它可以从不同的类进行HTTP调用以获取数据。它运行一段时间,并在运行结束时等待数小时,直到再次开始运行。(不幸的是,为什么这样做超出了我的理解范围,也超出了我的控制范围。)

我有一个问题,因为在运行之间,一些HTTP连接保持打开状态(我用
netstat-p | grep
检查)。我已经检查了代码,看看我们应该在哪里关闭连接,但是没有,也找不到任何东西。大多数请求的类型为
解组器。解组器(url)


所以我的问题是:在运行结束时,是否有一种方法可以检查此应用程序维护的特定端口上的连接并将其关闭

问题的一部分是HTTP规范本身。我怀疑连接没有立即关闭,因为规范没有保证每个数据包的交付时间

它可以是一个web服务器配置,告诉它保持连接活动的时间。我会调查的。也许您可以使用诸如Fiddler或Chrome developer tools之类的工具查看HTTP头并查看keep alive头设置为什么:


您能否显示打开连接、读取然后关闭的代码?当然,这里有一个示例:
SearchResponse-response=(SearchResponse)unmarshaller.unmarshal(url)这会自动关闭吗?UH你总是可以先读内容,然后解组;通过这种方式,这两个过程是不相关的,因此更容易发现问题。是的,这听起来很合理,我会尝试。幸运的是,我没有访问web服务器的权限。我不确定这是否是问题所在-我在提出请求几小时后就注意到了联系。这更多的是一个评论,而不是一个回答。这是有争议的,可能不足以证明对试图提供帮助的人投了否决票。tbsalling,我讨厌像你这样的人对别人的答案发表无用的评论,而自己却没有提供任何有价值的东西。不要担心我答案的类别;让我们看看你能召唤出什么样的智慧。请把你的东西贴出来,这样比较好。让我们看看你是否能建立起你那微不足道的代表。如果我发表意见冒犯了161k会员,我真诚地道歉,尽管我仍然看不到答案中的答案。但我没必要用同样的语气来评论。我已宣布否决票无效。