2013-10-07 165 views
4

我們使用JDK6在tomcat 5.5上生產環境。上週將系統升級爲tomcat 7 JDK 7.從那時起,我們每天都會收到OutOfMemoryError。OutOfMemoryError Java堆空間

我添加了標記來捕獲OOM上的堆轉儲。使用內存分析工具對其進行分析。轉儲表明〜56B的懷疑對象com.sun.org.apache.xml.internal.resolver.Catalog淺大小和保留大小約1.3 GB以下堆棧跟蹤

http-apr-8080-exec-36 
    at java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)[B (Unknown Source) 
    at java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; (Unknown Source) 
    at java.util.jar.JarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; (Unknown Source) 
    at java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; (Unknown Source) 
    at sun.misc.URLClassPath$JarLoader.getResource(Ljava/lang/String;Z)Lsun/misc/Resource; (Unknown Source) 
    at sun.misc.URLClassPath$JarLoader.findResource(Ljava/lang/String;Z)Ljava/net/URL; (Unknown Source) 
    at sun.misc.URLClassPath$1.next()Z (Unknown Source) 
    at sun.misc.URLClassPath$1.hasMoreElements()Z (Unknown Source) 
    at java.net.URLClassLoader$3$1.run()Ljava/net/URL; (Unknown Source) 
    at java.net.URLClassLoader$3$1.run()Ljava/lang/Object; (Unknown Source) 
    at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (Native Method) 
    at java.net.URLClassLoader$3.next()Z (Unknown Source) 
    at java.net.URLClassLoader$3.hasMoreElements()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.next()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.hasMoreElements()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.next()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.hasMoreElements()Z (Unknown Source) 
    at com.sun.xml.ws.policy.privateutil.ServiceFinder$LazyIterator.hasNext()Z (ServiceFinder.java:362) 
    at com.sun.xml.ws.policy.privateutil.ServiceFinder.toArray()[Ljava/lang/Object; (ServiceFinder.java:228) 
    at com.sun.xml.ws.policy.privateutil.PolicyUtils$ServiceProvider.load(Ljava/lang/Class;)[Ljava/lang/Object; (PolicyUtils.java:451) 
    at com.sun.xml.ws.policy.AssertionValidationProcessor.<init>(Ljava/util/Collection;)V (AssertionValidationProcessor.java:80) 
    at com.sun.xml.ws.api.policy.ValidationProcessor.<init>()V (ValidationProcessor.java:69) 
    at com.sun.xml.ws.api.policy.ValidationProcessor.getInstance()Lcom/sun/xml/ws/api/policy/ValidationProcessor; (ValidationProcessor.java:79) 
    at com.sun.xml.ws.api.policy.AlternativeSelector.doSelection(Lcom/sun/xml/ws/policy/EffectivePolicyModifier;)V (AlternativeSelector.java:50) 
    at com.sun.xml.ws.policy.WsitPolicyUtil.doAlternativeSelection(Lcom/sun/xml/ws/policy/PolicyMap;)Lcom/sun/xml/ws/policy/PolicyMap; (WsitPolicyUtil.java:96) 
    at com.sun.xml.ws.policy.jaxws.WsitPolicyResolver.resolve(Lcom/sun/xml/ws/api/policy/PolicyResolver$ClientContext;)Lcom/sun/xml/ws/policy/PolicyMap; (WsitPolicyResolver.java:121) 
    at com.sun.xml.ws.policy.PolicyWSDLParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (PolicyWSDLParserExtension.java:953) 
    at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (DelegatingParserExtension.java:187) 
    at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (WSDLParserExtensionFacade.java:334) 
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(Ljava/net/URL;Ljavax/xml/transform/Source;Lorg/xml/sax/EntityResolver;ZLcom/sun/xml/ws/api/server/Container;Lcom/sun/xml/ws/api/policy/PolicyResolver;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (RuntimeWSDLParser.java:171) 
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(Ljava/net/URL;Ljavax/xml/transform/Source;Lorg/xml/sax/EntityResolver;ZLcom/sun/xml/ws/api/server/Container;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (RuntimeWSDLParser.java:131) 
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(Ljava/net/URL;Ljavax/xml/transform/Source;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (WSServiceDelegate.java:267) 
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(Ljavax/xml/transform/Source;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V (WSServiceDelegate.java:230) 
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V (WSServiceDelegate.java:178) 
    at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)Ljavax/xml/ws/spi/ServiceDelegate; (ProviderImpl.java:106) 
    at javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V (Service.java:92) 
    at org.tempuri.Trans.<init>()V (Trans.java:42) 
    at mposclient.MPOSClient.RetailerTransaction(Ljava/sql/Connection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (MPOSClient.java:21) 
    at WebService.IMTOPUP.topupAmount(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (IMTOPUP.java:170) 
    at sun.reflect.GeneratedMethodAccessor64.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(Lcom/sun/xml/ws/api/message/Packet;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (InstanceResolver.java:246) 
    at com.sun.xml.ws.server.InvokerTube$2.invoke(Lcom/sun/xml/ws/api/message/Packet;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (InvokerTube.java:146) 
    at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/message/Packet; (EndpointMethodHandler.java:257) 
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/pipe/NextAction; (SEIInvokerTube.java:95) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:629) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:588) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:573) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Lcom/sun/xml/ws/api/pipe/Tube;Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/message/Packet; (Fiber.java:470) 
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(Lcom/sun/xml/ws/api/message/Packet;Lcom/sun/xml/ws/api/server/WebServiceContextDelegate;Lcom/sun/xml/ws/api/server/TransportBackChannel;)Lcom/sun/xml/ws/api/message/Packet; (WSEndpointImpl.java:295) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(Lcom/sun/xml/ws/transport/http/WSHTTPConnection;)V (HttpAdapter.java:515) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(Lcom/sun/xml/ws/transport/http/WSHTTPConnection;)V (HttpAdapter.java:285) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(Ljavax/servlet/ServletContext;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (ServletAdapter.java:143) 
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/ServletContext;)V (WSServletDelegate.java:155) 
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/ServletContext;)V (WSServletDelegate.java:189) 
    at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (WSServlet.java:76) 
    at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V (CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(Lorg/apache/tomcat/util/net/SocketWrapper;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run()V (AprEndpoint.java:1852) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run()V (Unknown Source) 
    at java.lang.Thread.run()V (Unknown Source) 

另一個有類似的堆棧跟蹤

http-apr-8082-exec-58 
    at java.util.Arrays.copyOf([BI)[B (Unknown Source) 
    at java.util.zip.ZipCoder.getBytes(Ljava/lang/String;)[B (Unknown Source) 
    at java.util.zip.ZipFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; (Unknown Source) 
    at java.util.jar.JarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; (Unknown Source) 
    at java.util.jar.JarFile.getJarEntry(Ljava/lang/String;)Ljava/util/jar/JarEntry; (Unknown Source) 
    at sun.misc.URLClassPath$JarLoader.getResource(Ljava/lang/String;Z)Lsun/misc/Resource; (Unknown Source) 
    at sun.misc.URLClassPath$JarLoader.findResource(Ljava/lang/String;Z)Ljava/net/URL; (Unknown Source) 
    at sun.misc.URLClassPath$1.next()Z (Unknown Source) 
    at sun.misc.URLClassPath$1.hasMoreElements()Z (Unknown Source) 
    at java.net.URLClassLoader$3$1.run()Ljava/net/URL; (Unknown Source) 
    at java.net.URLClassLoader$3$1.run()Ljava/lang/Object; (Unknown Source) 
    at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (Native Method) 
    at java.net.URLClassLoader$3.next()Z (Unknown Source) 
    at java.net.URLClassLoader$3.hasMoreElements()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.next()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.hasMoreElements()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.next()Z (Unknown Source) 
    at sun.misc.CompoundEnumeration.hasMoreElements()Z (Unknown Source) 
    at com.sun.xml.ws.policy.privateutil.ServiceFinder$LazyIterator.hasNext()Z (ServiceFinder.java:362) 
    at com.sun.xml.ws.policy.privateutil.ServiceFinder.toArray()[Ljava/lang/Object; (ServiceFinder.java:228) 
    at com.sun.xml.ws.policy.privateutil.PolicyUtils$ServiceProvider.load(Ljava/lang/Class;)[Ljava/lang/Object; (PolicyUtils.java:451) 
    at com.sun.xml.ws.policy.AssertionValidationProcessor.<init>(Ljava/util/Collection;)V (AssertionValidationProcessor.java:80) 
    at com.sun.xml.ws.api.policy.ValidationProcessor.<init>()V (ValidationProcessor.java:69) 
    at com.sun.xml.ws.api.policy.ValidationProcessor.getInstance()Lcom/sun/xml/ws/api/policy/ValidationProcessor; (ValidationProcessor.java:79) 
    at com.sun.xml.ws.api.policy.AlternativeSelector.doSelection(Lcom/sun/xml/ws/policy/EffectivePolicyModifier;)V (AlternativeSelector.java:50) 
    at com.sun.xml.ws.policy.DefaultPolicyResolver.doAlternativeSelection(Lcom/sun/xml/ws/policy/PolicyMap;)Lcom/sun/xml/ws/policy/PolicyMap; (DefaultPolicyResolver.java:110) 
    at com.sun.xml.ws.policy.DefaultPolicyResolver.resolve(Lcom/sun/xml/ws/api/policy/PolicyResolver$ClientContext;)Lcom/sun/xml/ws/policy/PolicyMap; (DefaultPolicyResolver.java:66) 
    at com.sun.xml.ws.policy.PolicyWSDLParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (PolicyWSDLParserExtension.java:953) 
    at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (DelegatingParserExtension.java:187) 
    at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (WSDLParserExtensionFacade.java:334) 
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(Lcom/sun/xml/ws/api/wsdl/parser/XMLEntityResolver$Parser;Lcom/sun/xml/ws/api/wsdl/parser/XMLEntityResolver;ZLcom/sun/xml/ws/api/server/Container;Lcom/sun/xml/ws/api/policy/PolicyResolver;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (RuntimeWSDLParser.java:252) 
    at com.sun.xml.ws.api.model.wsdl.WSDLModel$WSDLParser.parse(Lcom/sun/xml/ws/api/wsdl/parser/XMLEntityResolver$Parser;Lcom/sun/xml/ws/api/wsdl/parser/XMLEntityResolver;ZLcom/sun/xml/ws/api/server/Container;Lcom/sun/xml/ws/api/policy/PolicyResolver;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/api/model/wsdl/WSDLModel; (WSDLModel.java:183) 
    at com.sun.xml.ws.policy.jaxws.PolicyResourceLoader.getWsdlModel(Ljava/net/URL;Z)Lcom/sun/xml/ws/api/model/wsdl/WSDLModel; (PolicyResourceLoader.java:81) 
    at com.sun.xml.ws.policy.jaxws.PolicyConfigParser.parseModel(Ljava/net/URL;Z[Lcom/sun/xml/ws/policy/PolicyMapMutator;)Lcom/sun/xml/ws/api/model/wsdl/WSDLModel; (PolicyConfigParser.java:223) 
    at com.sun.xml.ws.policy.jaxws.PolicyConfigParser.parseModel(Ljava/lang/String;Lcom/sun/xml/ws/api/server/Container;[Lcom/sun/xml/ws/policy/PolicyMapMutator;)Lcom/sun/xml/ws/api/model/wsdl/WSDLModel; (PolicyConfigParser.java:185) 
    at com.sun.xml.ws.policy.jaxws.PolicyConfigParser.parse(Ljava/lang/String;Lcom/sun/xml/ws/api/server/Container;[Lcom/sun/xml/ws/policy/PolicyMapMutator;)Lcom/sun/xml/ws/policy/PolicyMap; (PolicyConfigParser.java:103) 
    at com.sun.xml.ws.policy.jaxws.WsitPolicyResolver.resolve(Lcom/sun/xml/ws/api/policy/PolicyResolver$ClientContext;)Lcom/sun/xml/ws/policy/PolicyMap; (WsitPolicyResolver.java:106) 
    at com.sun.xml.ws.policy.PolicyWSDLParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (PolicyWSDLParserExtension.java:953) 
    at com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (DelegatingParserExtension.java:187) 
    at com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtensionContext;)V (WSDLParserExtensionFacade.java:334) 
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(Ljava/net/URL;Ljavax/xml/transform/Source;Lorg/xml/sax/EntityResolver;ZLcom/sun/xml/ws/api/server/Container;Lcom/sun/xml/ws/api/policy/PolicyResolver;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (RuntimeWSDLParser.java:171) 
    at com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(Ljava/net/URL;Ljavax/xml/transform/Source;Lorg/xml/sax/EntityResolver;ZLcom/sun/xml/ws/api/server/Container;[Lcom/sun/xml/ws/api/wsdl/parser/WSDLParserExtension;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (RuntimeWSDLParser.java:131) 
    at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(Ljava/net/URL;Ljavax/xml/transform/Source;)Lcom/sun/xml/ws/model/wsdl/WSDLModelImpl; (WSServiceDelegate.java:267) 
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(Ljavax/xml/transform/Source;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V (WSServiceDelegate.java:230) 
    at com.sun.xml.ws.client.WSServiceDelegate.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)V (WSServiceDelegate.java:178) 
    at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(Ljava/net/URL;Ljavax/xml/namespace/QName;Ljava/lang/Class;)Ljavax/xml/ws/spi/ServiceDelegate; (ProviderImpl.java:106) 
    at javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V (Service.java:92) 
    at com.eservglobal.soaptopupsuite.Soaptopupsuite.<init>()V (Soaptopupsuite.java:42) 
    at telenor.vas.voms.PrepaidRecharge.AnyTopup(Ltelenor/vas/voms/VoMSCommon;Lcom/eservglobal/soaptopupsuite/Session;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; (PrepaidRecharge.java:106) 
    at telenor.vas.voms.PrepaidRecharge.PrepaidRecharge(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String; (PrepaidRecharge.java:35) 
    at telenor.vas.topup.TopUpWS.TopUp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ltelenor/vas/topup/PaymentResponse; (TopUpWS.java:468) 
    at sun.reflect.GeneratedMethodAccessor69.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (Unknown Source) 
    at com.sun.xml.ws.api.server.InstanceResolver$1.invoke(Lcom/sun/xml/ws/api/message/Packet;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (InstanceResolver.java:246) 
    at com.sun.xml.ws.server.InvokerTube$2.invoke(Lcom/sun/xml/ws/api/message/Packet;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; (InvokerTube.java:146) 
    at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/message/Packet; (EndpointMethodHandler.java:257) 
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/pipe/NextAction; (SEIInvokerTube.java:95) 
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:629) 
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:588) 
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Lcom/sun/xml/ws/api/pipe/Tube;)Lcom/sun/xml/ws/api/pipe/Tube; (Fiber.java:573) 
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Lcom/sun/xml/ws/api/pipe/Tube;Lcom/sun/xml/ws/api/message/Packet;)Lcom/sun/xml/ws/api/message/Packet; (Fiber.java:470) 
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(Lcom/sun/xml/ws/api/message/Packet;Lcom/sun/xml/ws/api/server/WebServiceContextDelegate;Lcom/sun/xml/ws/api/server/TransportBackChannel;)Lcom/sun/xml/ws/api/message/Packet; (WSEndpointImpl.java:295) 
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(Lcom/sun/xml/ws/transport/http/WSHTTPConnection;)V (HttpAdapter.java:515) 
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(Lcom/sun/xml/ws/transport/http/WSHTTPConnection;)V (HttpAdapter.java:285) 
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(Ljavax/servlet/ServletContext;Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (ServletAdapter.java:143) 
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/ServletContext;)V (WSServletDelegate.java:155) 
    at com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/ServletContext;)V (WSServletDelegate.java:189) 
    at com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (WSServlet.java:76) 
    at javax.servlet.http.HttpServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V (HttpServlet.java:647) 
    at javax.servlet.http.HttpServlet.service(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;)V (ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (AuthenticatorBase.java:472) 
    at org.apache.catalina.core.StandardHostValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V (StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V (CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(Lorg/apache/tomcat/util/net/SocketWrapper;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Lorg/apache/tomcat/util/net/SocketWrapper;Lorg/apache/tomcat/util/net/SocketStatus;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState; (AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run()V (AprEndpoint.java:1852) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V (Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run()V (Unknown Source) 
    at java.lang.Thread.run()V (Unknown Source) 

我懷疑是因爲我這個問題打電話給另一個網絡服務。

我使用與設置爲500米和最大最小內存以下JVM選項1500米

-XX:MaxPermSize=170m 
-XX:+CMSClassUnloadingEnabled 
-XX:+CMSPermGenSweepingEnabled 
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=C:\heaplogs\ 
+0

爲什麼不升級到更新的Tomcat? –

+0

你允許多少堆?我懷疑Java 7可能需要多一點(可能幾百MB),但如果它遠遠超過這個,我會感到驚訝。順便說一句,我會確保你有Java 7的更新25 - 40. –

+0

1500 MB的堆空間。 Tomcat 7.27已經在那裏。我必須有一些理由在生產中升級它 – orak

回答

2

這聽起來非常相似this bug。如果它相同,CatalogManager將持有對創建的每個CatalogEntry實例的引用。該鏈接建議您可以重用相同的服務對象,但您必須重新初始化每次調用以強制CatalogManger放棄其存儲的引用。

在線程中另一篇文章建議嘗試以下迫使CatalogManger放棄引用

-Dxml.catalog.staticCatalog=false 

我個人一直有很好的運氣Axis2爲使用SOAP如果上述不起作用。

-2

每當你得到它的應用的OOM,有一些功能,這是造成內存泄漏。查找內存泄漏可能很困難,但是由於您已經縮小了嫌疑人的範圍。只需檢查webservice客戶端中是否存在可能導致此問題的任何代碼。

從stacktrace我懷疑將與您的web服務客戶端中創建數組或複製它的一些代碼。

另請檢查您的Vm參數設置是否正確。

0

唯一一個我可以設想的明顯的事情 - 你有內存泄漏。

您可以使用jvisualvm來檢測在ws調用後持有對com.sun.org.apache.xml.internal.resolver.Catalog對象的引用的GC根。 這是一個非常好的免費工具。

你可以找到一個關於如何使用jvisualvm只是谷歌搜索的指南。

0

從tomcat/bin打開catalina.sh。

然後

JAVA_OPTS =「 - Djava.awt.headless =真-Dfile.encoding = UTF-8 -server -Xms1536m -Xmx1536m -XX:新尺寸=256米-XX:MaxNewSize =256米-XX :PermSize =256米 -XX:MaxPermSize參數=256米-XX:+ DisableExplicitGC」

=>重新啓動你的tomcat

0

你一定要問MAT,告訴你誰持有這些引用,他們爲什麼還活着而不是GCed。

另一種選擇是嘗試專門的內存泄漏檢測工具,如​​。

相關問題