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:
org.springframework.util.xml.StaxSource@7fe0f13a 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
org.springframework.util.xml.StaxSource@7fe0f13a 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 org.springframework.util.xml.StaxSource@7fe0f13a
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,
CamelSpringWebserviceSoapHeader=org.springframework.util.xml.StaxSource@1143c2b6}
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:
org.springframework.util.xml.StaxSource@7fe0f13a 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
org.springframework.util.xml.StaxSource@7fe0f13a 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 org.springframework.util.xml.StaxSource@7fe0f13a
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
org.springframework.util.xml.StaxSource@7fe0f13a 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.