Hi
  Please post the heap memory which you are using for this testing, did you
enable binary relay and formatters, you defentely could avoid such
situations if use binary relay and formatters when processing large files.

cheers
Dushan

On Tue, Mar 12, 2013 at 11:39 PM, Lakmali Baminiwatta <[email protected]>wrote:

> 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
> *
> *
>



-- 
Dushan Abeyruwan
*Senior Software Engineer*
*Integration Technologies Team*
*Member of Integration MC*
*WSO2 Inc. http://wso2.com/*
*Mobile:(+94)714408632*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to