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
>>
>>
>>
>
>

Reply via email to