Hi Dushan,
On 13 March 2013 08:04, Nuwan Dias <[email protected]> wrote: > 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. >> > I am using default memory allocation. The input message is a XML message, hence I am using default application/xml builder. <messageBuilder contentType="application/xml" class="org.apache.axis2.builder.ApplicationXMLBuilder"/> The input message size is around 9GB. So if the passthru transport going to build the message this will always fail. at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:96) This same scenario works in ESB 4.5.1. Also similar big message of text/plain content type trasforms without the mentioned problem in ESB 4.6.0. So isn't there a way to stop building the message for application/xml content type as well. Thanks, Lakmali > >> 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 > -- 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
