memory-leaks - IBM WebSphere 8 与 Axis2 Web 服务发生内存泄漏

标签 memory-leaks websphere apache-axis

将应用程序从 v6 迁移到 WebSphere v8 并开始出现内存泄漏。主要嫌疑人是 org.apache.axis2。看起来每次应用程序调用 Web 服务时,WAS8 都会创建一个名为 ServiceClient 的对象,并将其存储在名为 ClientConfigurationContextStore 的对象中,然后永远不会被垃圾回收。有人遇到过类似的问题吗?

最佳答案

通过强制原始轴 1.4 超过提供的 SOAP 实现来解决问题。这是通过将两个文件放置在应用程序的 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 内容。不再出现内存泄漏。

关于memory-leaks - IBM WebSphere 8 与 Axis2 Web 服务发生内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9779287/

相关文章:

即使释放指向结构的指针后也会发生 C 内存泄漏

java - 在 Spring MVC 3.0 中允许音频文件?

oracle - 配置数据库连接池 - Axis2 webservice

java - 了解 Jeprofile 输出

c - 释放需要返回但不能在c中的main中释放的动态分配的int

java - 在 Eclipse 中添加 WebSphere 时出错

java - 部署在 Axis2-Tomcat7-Ubuntu 平台上的 Web 服务中出现 TFS Java SDK native 库异常

java - Eclipse 在哪里保存 WSDL 文件?

c++ - 已释放的堆未被回收?

用于在 Websphere 中监控管理控制台属性的 Python 脚本