将应用程序从 v6 迁移到 WebSphere v8 并开始出现内存泄漏。主要嫌疑人是 org.apache.axis2。看起来每次应用程序调用 Web 服务时,WAS8 都会创建一个名为 ServiceClient 的对象,并将其存储在名为 ClientConfigurationContextStore 的对象中,然后永远不会被垃圾回收。有人遇到过类似的问题吗?
通过强制原始轴 1.4 超过提供的肥皂实现来解决此问题。这是通过将两个文件放置在应用程序的 WEB-INF/services 中来完成的。第一个文件称为 javax.xml.soap.MessageFactory 并包含“org.apache.axis.soap.MessageFactoryImpl”,第二个文件称为 javax.xml.soap.SOAPConnectionFactory 并包含“org.apache.axis.soap.SOAPConnectionFactoryImpl”。所以现在在代码中: javax.xml.soap.SOAPConnectionFactory.newInstance() 返回 org.apache.axis 内容,而之前它返回 com.ibm.ws.webservices 内容。不再有内存泄漏。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)