Hi,
I'm having one big problem, which I don't know how to handle.
I switched to new servicemix 3.2.2 (from 3.0) and have replaced old
route.xml with new drl file. The drools' JbiHelper doesn't support "forward"
function any more. so I just replaced it with the "route" method.
So here is the case: component "A", routes message to component "Log".
A----->DroolsRouter---->Log
The message is very simple, it only has "Stress test message n" test set as
property. It also has
"<componentName>" + name + "</componentName>" set as content.
So, what I'm doing is that I route 1000 messages from A to Log with 100ms
sleep between each send.
Around 700th message I'm staring to get exceptions:
Stress test Message 718
Exception in thread "pool-flow.seda.DroolsComponent-thread-4"
java.lang.OutOfMemoryError: Java heap space
Stress test Message 719
Stress test Message 720
Here is my drl snippet:
rule "Logging Message"
when
me : Exchange( status == Exchange.ACTIVE, in != null )
eval(me.getIn().getProperty(MessageConstants.LOG_MESSAGE) !=
null)
then
jbi.route("service:http://stasim2//Log");
end
I managed to get stacktrace of the exception once, see below. Looking to it,
it looks like there is some memory issue when parsing XML content???
Can anybody give me an idea how to fix this?
-------------------------------START---------------------------------------------
Exception in thread "pool-flow.seda.DroolsComponent-thread-3"
java.lang.OutOfMemoryError: Java heap space
at org.apache.xerces.dom.DeferredDocumentImpl.createChunk(Unknown Source)
at org.apache.xerces.dom.DeferredDocumentImpl.ensureCapacity(Unknown
Source)
at org.apache.xerces.dom.DeferredDocumentImpl.createNode(Unknown Source)
at
org.apache.xerces.dom.DeferredDocumentImpl.createDeferredDocument(Unknown
Source)
at org.apache.xerces.parsers.AbstractDOMParser.startDocument(Unknown
Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source)
at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown
Source)
at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown
Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSourceFromStream(SourceTransformer.java:262)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMSource(SourceTransformer.java:175)
at
org.apache.servicemix.jbi.jaxp.SourceTransformer.toDOMNode(SourceTransformer.java:311)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.display(MessageExchangeImpl.java:767)
at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.toString(MessageExchangeImpl.java:743)
at java.lang.String.valueOf(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:136)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
-------------------------------END---------------------------------------------
--
View this message in context:
http://www.nabble.com/java.lang.OutOfMemoryError%3A-Java-heap-space-tp19604576p19604576.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.