gpt4 book ai didi

java - Apache CXF 未释放客户端

转载 作者:太空宇宙 更新时间:2023-11-04 14:28:39 27 4
gpt4 key购买 nike

我发现我的应用程序内存严重泄漏。进行堆转储后,Apache CXF (2.7.7) 似乎引用了大量 JaxWsServiceConfiguration(一天 14000 个)。

我不确定我是否正确使用它,是否需要以某种方式释放客户端或者 CXF 中存在错误。希望有人能在这里指出正确的方向。

我正在使用注入(inject)到我的服务方法中的JaxWsProxyFactoryBean。调用以下行来创建客户端代理(针对对 Web 服务的每个请求调用):

jaxWsProxyFactoryBean.create();

最终服务方法完成,但看起来工厂保存了对客户端代理的引用,因此永远不会对其进行GC。

我以为我可以创建一个静态客户端并始终使用它,但我对此有点紧张,因为它在所有情况下都不是线程安全的:http://cxf.apache.org/faq.html#FAQ-AreJAX-WSclientproxiesthreadsafe

我应该采取不同的做法吗?

最佳答案

当我构建网关来代表数百个并发客户端使用 Web 服务时,我一直使用静态代理。只要不针对给定请求修改拦截器链,例如修改管道或使用 session ,就应该没有问题。

关于java - Apache CXF 未释放客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com