每隔几天,我收到一个SocketException,打开的文件太多了。我将问题跟踪到在某个过程中使用的临时pdf文件。该进程传递库创建的临时文件的名称。在某些时候,库会打开一个输入流,但不会关闭它。鉴于我的代码只有文件名,有什么方法可以关闭流吗?
详细说明: 在Tomcat6中运行的Java Web App
答案 0 :(得分:1)
最好的方法是在修复此错误的情况下请求此库的版本。
如果无法做到这一点,请获取资源,自行修复错误。
如果你不能(只是二进制jar文件),请尝试像jd-gui这样的工具,反编译错误的类,修复,重新编译该类并替换jar中的.class。
如果仍然无效,请使用ASM并在正确的位置添加一个关闭语句。应该避免这个解决方案。如果你不掌握这项技术,那就复杂了。