It is very possible since I've screwed that up before. Is not handling the exchange correctly a possible side effect like that? I don't think I was previously and I fixed it in my unit test. The memory usage seems to look a little better, but it still seems to be hanging onto memory for some reason with the InOnly and Normalized Message... I'll run all my services again for a long period and see how it's looking again. Maybe even though I fixed sending the DONE response, it still appears the problem is there but my test is on a smaller scale, so it might be misleading...
Ryan On Tue, Dec 23, 2008 at 10:11 PM, Freeman Fang <[email protected]>wrote: > Ryan Moquin wrote: > >> I wanted to do a little probing regarding memory and servicemix. I >> was wondering how exchanges between services are stored/persisted. >> I'm asking because I've been plagued by out of memory exceptions with >> my heap memory. Under high load, servicemix can exhaust 1 gig of >> memory in 3 hours. >> >> I finally have been integration testing servicemix services with junit >> (which is awesome to be able to do by the way), when I run my junit >> perf test through jprob, I see my memory keep steadily climbing. When >> I look at the results, it shows the onMessageExchange method call of >> my servicemix-bean component as being the place that uses the most >> memory. All my services temporary objects get disposed of, but it >> looks like the MessageExchanges are hanging around. It particulary >> points to InOnly and NormalizedMessage as being the biggest offenders. >> >> >> > Is it possible that your bean didn't set DONE status correctly and send ME > with DONE back? > > Is servicemix keeping all the exchanges in memory, whether finished or >> not? Does my analysis sound correct? Is there any tweaking I need to >> do out of the box to have exchanges purged? I want to make sure I'm >> correct on the issue and understand what's going on enough to be able >> to fix it. >> >> Thanks, ryan >> >> >> > >
