|
From: | Rohit Singh |
Subject: | [Axiom-developer] OutOfMemory issue with Axiom |
Date: | Mon, 7 Dec 2015 11:52:35 +0530 |
Hi, I am using axiom-api-1.2.14.jar and axiom-impl-1.2.14.jar. My SOAP response returns List<String> whose size is 150. Each string having size of 1.8 mb(avg). When such huge data returns to axiom stax parsing, It suddenly increase the the heap memory by 600 mb which continued to reatain and not gets relaesed. When I analyse this in visualvm I found that OMTextImpl class is taking this memory alone. For the next hit this size increase to 1200mb and again this memory does not get freed.
For next 2-3 hits , system goes to OutOfMemory. I am using below configuration: #messageFactory (axiom) configuration messageFactory.payloadCaching=true When I use messageFactory.payloadCaching=false
(I don’t know whether this will solve the problem or not) I face below exception: 23:21:19.467 [http-bio-8080-exec-1] ERROR o.a.c.s.spi.TransactionErrorHandler - Failed delivery for (MessageId: ID-NII414LEDF0240-62759-1448560261807-0-1 on ExchangeId: ID-NII414LEDF0240-62759-1448560261807-0-2).
Exhausted after delivery attempt: 2 caught: org.apache.camel.InvalidPayloadException: No body available of type: java.io.InputStream but has value:
address@hidden of type: org.springframework.util.xml.StaxSource on: SpringWebserviceMessage[AxiomSoapMessage]. Caused by: Error during type conversion from
type: org.springframework.util.xml.StaxSource to the required type: java.io.InputStream with value
address@hidden due java.lang.NullPointerException. Exchange[SpringWebserviceMessage[AxiomSoapMessage]]. Caused by: [org.apache.camel.TypeConversionException
- Error during type conversion from type: org.springframework.util.xml.StaxSource to the required type: java.io.InputStream with value
address@hidden due java.lang.NullPointerException] Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [searchGlobalCollat] [searchGlobalCollat] [ ] [ 1029] [searchGlobalCollat] [unmarshal2 ] [unmarshal[ref:jaxb] ] [ 1029] Exchange --------------------------------------------------------------------------------------------------------------------------------------- Exchange[ Id ID-NII414LEDF0240-62759-1448560261807-0-2 ExchangePattern InOptionalOut Headers {breadcrumbId=ID-NII414LEDF0240-62759-1448560261807-0-1, CamelRedelivered=true, CamelRedeliveryCounter=1, CamelRedeliveryMaxCounter=1,
address@hidden} BodyType org.springframework.util.xml.StaxSource Body [Body is instance of java.xml.transform.Source] ] Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- org.apache.camel.InvalidPayloadException: No body available of type: java.io.InputStream but has value:
address@hidden of type: org.springframework.util.xml.StaxSource on: SpringWebserviceMessage[AxiomSoapMessage]. Caused by: Error during type conversion from
type: org.springframework.util.xml.StaxSource to the required type: java.io.InputStream with value
address@hidden due java.lang.NullPointerException. Exchange[SpringWebserviceMessage[AxiomSoapMessage]]. Caused by: [org.apache.camel.TypeConversionException
- Error during type conversion from type: org.springframework.util.xml.StaxSource to the required type: java.io.InputStream with value
address@hidden due java.lang.NullPointerException] at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:101) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.UnmarshalProcessor.process(UnmarshalProcessor.java:59) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:218) [camel-spring-2.12.3.jar:2.12.3] at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:181) [camel-spring-2.12.3.jar:2.12.3] at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34) [spring-tx-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) [spring-tx-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:174) [camel-spring-2.12.3.jar:2.12.3] at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:134) [camel-spring-2.12.3.jar:2.12.3] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:103) [camel-spring-2.12.3.jar:2.12.3] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:112) [camel-spring-2.12.3.jar:2.12.3] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87) [camel-core-2.12.3.jar:2.12.3] at org.apache.camel.component.spring.ws.SpringWebserviceConsumer.invoke(SpringWebserviceConsumer.java:59) [camel-spring-ws-2.12.3.jar:2.12.3] at org.springframework.ws.server.endpoint.adapter.MessageEndpointAdapter.invoke(MessageEndpointAdapter.java:41) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:233) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:173) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:88) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:59) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:292) [spring-ws-core-2.1.4.RELEASE.jar:na] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) [spring-webmvc-4.0.2.RELEASE.jar:4.0.2.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.50] at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:202) [javamelody-core-1.51.0.jar:1.51.0] at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:180) [javamelody-core-1.51.0.jar:1.51.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.50] at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:300) [ziplet-2.0.0.jar:na] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.50] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.50] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.50] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [catalina.jar:7.0.50] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.50] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) [catalina.jar:7.0.50] at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) [catalina.jar:7.0.50] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.50] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) [catalina.jar:7.0.50] at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) [tomcat-coyote.jar:7.0.50] at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.50] at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) [tomcat-coyote.jar:7.0.50] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_31] at java.lang.Thread.run(Thread.java:662) [na:1.6.0_31] Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: org.springframework.util.xml.StaxSource to the required type: java.io.InputStream with value
address@hidden due java.lang.NullPointerException at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:173) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:99) ~[camel-core-2.12.3.jar:2.12.3] ... 51 common frames omitted Caused by: org.apache.camel.RuntimeCamelException: java.lang.NullPointerException at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1363) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1005) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(InstanceMethodTypeConverter.java:78) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:275) ~[camel-core-2.12.3.jar:2.12.3] at org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:164) ~[camel-core-2.12.3.jar:2.12.3] ... 52 common frames omitted Caused by: java.lang.NullPointerException: null at org.apache.axiom.om.impl.llom.SwitchingWrapper.next(SwitchingWrapper.java:965) ~[axiom-impl-1.2.14.jar:1.2.14] at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:60) ~[na:1.6.0_31] at org.springframework.util.xml.StaxStreamXMLReader.parseInternal(StaxStreamXMLReader.java:123) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.springframework.util.xml.AbstractStaxXMLReader.parse(AbstractStaxXMLReader.java:155) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.springframework.util.xml.AbstractStaxXMLReader.parse(AbstractStaxXMLReader.java:139) ~[spring-core-4.0.2.RELEASE.jar:4.0.2.RELEASE] at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:485) ~[xalan-2.7.1.jar:na] at com.nucleus.integration.core.camel.converter.XmlConverter.sourceToInputStream(XmlConverter.java:53) ~[neutrino-integration-core-1.41-SNAPSHOT.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_31] at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:1001) ~[camel-core-2.12.3.jar:2.12.3] ... 55 common frames omitted Your help will be highly appreciated. Rgrds,Rohit This e-mail, along with any files transmitted with it, is confidential or proprietary or legally privileged and for the sole use of the intended recipient(s). If you happen to receive this e-mail and you are not the intended recipient, please notify us immediately by reply e-mail, and delete this e-mail message, including any file(s), from your system. Any unauthorised review, use, disclosure or distribution is prohibited and may be unlawful. Further, while we scan all emails for known virus, we cannot guarantee that any email is virus-free. Before opening any attachment please check them for viruses and defects. Unless agreed otherwise, the Company (Nucleus Software Exports Limited or its subsidiaries or Group Companies) shall not be liable towards any unauthorized communication or its consequences. |
[Prev in Thread] | Current Thread | [Next in Thread] |