Hi Dushan, Can we use Binary relay when dealing with smooks? Doesn't it need to engage a proper builder to build the message?
Thanks, NuwanD. On Tue, Mar 12, 2013 at 11:44 PM, Dushan Abeyruwan <[email protected]> wrote: > 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 > > -- Nuwan Dias
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
