Hi all,
When I was running a ESB proxy service which transforms a huge xml message
using smooks mediator, following exceptions were thrown.
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.LinkedHashMap.init(LinkedHashMap.java:223)
at java.util.HashMap.<init>(HashMap.java:188)
at java.util.HashMap.<init>(HashMap.java:199)
at java.util.LinkedHashMap.<init>(LinkedHashMap.java:172)
at
org.apache.axiom.om.impl.llom.OMElementImpl.addAttribute(OMElementImpl.java:588)
at
org.apache.axiom.om.impl.llom.OMElementImpl.addAttribute(OMElementImpl.java:632)
at
org.apache.axiom.om.impl.builder.StAXBuilder.processAttributes(StAXBuilder.java:232)
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.populateOMElement(StAXOMBuilder.java:432)
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.createOMElement(StAXOMBuilder.java:461)
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.createNextOMElement(StAXOMBuilder.java:318)
at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
at
org.apache.axiom.om.impl.llom.OMElementImpl.getNextOMSibling(OMElementImpl.java:336)
at
org.apache.axiom.om.impl.traverse.OMChildrenIterator.getNextNode(OMChildrenIterator.java:36)
at
org.apache.axiom.om.impl.traverse.OMAbstractIterator.hasNext(OMAbstractIterator.java:58)
at
org.apache.axiom.om.impl.traverse.OMFilterIterator.hasNext(OMFilterIterator.java:54)
at
org.apache.axiom.om.impl.llom.OMElementImpl.getFirstChildWithName(OMElementImpl.java:273)
at
org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:96)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:62)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:154)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328)
at
org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:565)
at
org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:312)
at
org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:158)
at
org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:107)
at
org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Below given is my synapse sonfiguration and this worked in ESB 4.5.0.
<definitions xmlns="http://ws.apache.org/ns/synapse">
<localEntry key="smooks-key"
src="file:repository/samples/resources/smooks/smooks-config-802.xml"/>
<proxy name="StockQuoteProxy" transports="vfs">
<!--CHANGE-->
<parameter
name="transport.vfs.FileURI">file:///home/lakmali/dev/test/smooks/in</parameter>
<parameter
name="transport.vfs.ContentType">application/xml</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
<parameter name="transport.PollInterval">5</parameter>
<!--CHANGE-->
<parameter
name="transport.vfs.MoveAfterProcess">file:///home/lakmali/dev/test/smooks/original</parameter>
<!--CHANGE-->
<parameter
name="transport.vfs.MoveAfterFailure">file:///home/lakmali/dev/test/smooks/original</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
<target>
<inSequence>
<smooks config-key="smooks-key">
<input type="xml"/>
<output type="xml"/>
</smooks>
</inSequence>
</target>
</proxy>
</definitions>
Is any configuration needed to avoid this problem?
Thanks,
Lakmali
--
Lakmali Baminiwatta*
*
Software Engineer
WSO2, Inc.: http://wso2.com
lean.enterprise.middleware
mobile: +94 71 2335936
*
*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev