[英]Apache CXF not releasing clients
我发现我的应用程序严重泄漏内存。 进行堆转储后,似乎Apache CXF(2.7.7)似乎引用了许多JaxWsServiceConfiguration(一天14000)。
我不确定是否正确使用它,是否需要以某种方式释放客户端或CXF中是否存在错误。 希望有人可以在这里指出正确的方向。
我正在使用注入到我的服务方法中的JaxWsProxyFactoryBean
。 调用以下行来创建客户端代理(针对对Web服务的每个请求都调用):
jaxWsProxyFactoryBean.create();
最终,服务方法完成了,但看起来工厂似乎保留了对客户端代理的引用,因此从不对它进行GC。
我以为我可以创建一个静态客户端并始终使用它,但是对此有些不安,因为它并非在所有情况下都是线程安全的: http : //cxf.apache.org/faq.html#FAQ-AreJAX-WSclientproxiesthreadsafe ?
我应该这样做吗?
当我构建网关来代表数百个并发客户端使用Web服务时,我始终使用静态代理。 只要不针对给定请求修改拦截器链,例如修改管道或使用会话,就没有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.