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

Reply via email to