我正在处理的 Web 服务需要将传入的 json 数据发送到另一个服务的 REST 接口(interface)。为此,我编写了一个依赖于 Apache 项目的 HttpClient-lib 的小转发器。
在我的本地机器上,转发工作正常,但是运行 webapp 的 Tomcat 服务器在执行到达 PoolingHttpClientConnectionManager
的实例化时立即停止;即这一行:
this.cm = new PoolingHttpClientConnectionManager();
没有抛出异常或任何其他可以帮助我解决这个问题的输出。
如果有人可以提供一些提示来尝试其他方法以找到错误,我将非常高兴。
编辑:
正如我通过远程调试发现的那样,相应的线程已停止以防止内存泄漏:
停止线程 http-bio-8080-exec-22 以避免上下文停止后潜在的内存泄漏。
我仍然不知道为什么。我没主意了。
最佳答案
您可以使用 jstack获取 Java 进程的堆栈跟踪。我会用它来找出哪个线程挂起,卡在哪里。也许这会为您提供导致阻塞的线索。
关于java - Webapp 在实例化 PoolingHttpClientConnectionManager 时停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32460501/