Ok and now I've tried to rebuild thie behavior inside of my bean component and used the MessageUtil class to make the message rereadable and send it once to the file component and once to my transformer. After that I got the same memory leak like before with the eip component. So could it be that this is related to the StringSource class? (MessageUtil transforms to StringSource when making the message rereadable).
Regards /Steffen steff aka sid wrote: > > I've now tested following szenario: > > servicemix-file --> servicemix-eip(static-recipient-list) --> > servicemix-bean --> servicemix-file > | > servicemix-file > > But the same issue. I passing in a 50Mbyte file and there stay up to > 280Mbyte in heap (see screenshot of jconsole). I attached my testcase so > for me it seems that we have a memory leak in the eip component or maybe > another class of servicemix. > > My test enviroment: > Linux (Ubuntu 8.04) > Java: 1.5.0_15-b04 > SMX: 3.2.2 > > Regards > /Steffen > http://www.nabble.com/file/p19933178/Bildschirmfoto.png > Bildschirmfoto.png > http://www.nabble.com/file/p19933178/servicemix-bean-test.zip > servicemix-bean-test.zip > > > > steff aka sid wrote: >> >> Ok, >> I've found out that the memory leak has nothing to do with my components >> and any other stuff I've postet before. I had something like: >> >> servicemix-file --> servicemix-eip(wiretab) --> servicemix-bean --> >> servicemix-file >> | >> servicemix-bean >> | >> servicemix-file >> >> So I think my usage of the wirtab at this place was wrong(?!) and the >> memory leak comes from the wiretab. All other components I tested but >> directly if I removed the wiretab the memory leak was gone. So my first >> understanding of the wiretab was more like a competing customers but I >> think this was a error in reasoning. >> >> Regards >> /Steffen >> >> >> >> steff aka sid wrote: >>> >>> Hi, >>> I've got an performance issue. I have serveral beans which have to >>> process messages where the xml files are about 50+ MByte. Currently I'am >>> working with consumer bean instances which have an DeliveryChannel and >>> ServiceMixClient object. My problem is, that when I process one >>> message/file after that there where 300Mbytes staying in heap. So I did >>> some performance tests with netbeans and saw that there where much >>> byte[] and char[] objects (Not totally shure from where they come). >>> After starting SMX without doing anything my heap is about 20MByte. So I >>> think there must be some failure in my code. So I searched all created >>> classes found some failures but the problem doesn't disappear. >>> Then I found out that it is possible to call the close()-Method of the >>> DeliveryChannel and the ServiceMixClient Interface. So my question is do >>> I have to close them? Or Maybe is it better to create instances for my >>> bean class for each exchange (I think my solution is ok, because its >>> easier to handle multible calls). >>> >>> Regards >>> /Steffen >>> >> >> > > ----- Brockhaus GmbH COMPETITIVE THROUGH KNOWLEDGE Web: http://www.brockhaus-gruppe.de www.brockhaus-gruppe.de / http://www.brockhaus-group.com www.brockhaus-group.com -- View this message in context: http://www.nabble.com/Best-practices%2C-working-with-beans-and-huge-messages.-tp19914439p19935470.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
