You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by drvillo <f....@gmail.com> on 2007/04/16 09:56:19 UTC

Re: ActiveMQ object cleanup

Hi

actually I also would like to know how to tell AMQ threads to quit...
Francesco


txtoth wrote:
> 
> Well I thought I was on to something. I created a threadgroup and put my 
> thread in it and sure enough the activemq created threads as part of my 
> spring context creation get created in my thread group, great. Then when 
> I close my spring context I get the threadgroup and call interrupt and 
> my thread catches the interrupt exception and completes. The only 
> problem is that now I've got threadgroups hanging around with only 
> activemq related threads in them. It would appear that these threads 
> aren't quiting when they receive the interrupt exception :(
> 
> 
> Xavier Toth wrote:
>> On further inspection I see that there are a number of threads started
>> on behalf of ActiveMQ and I'm wondering if and how these ever get
>> cleaned up? I've included a super simplified example of a standalone
>> broker and client along with build and run scripts (the classpath will
>> have to be changed for these to work on another system). The run
>> script will generate a hprof dump on exit (Ctrl-C) that can be
>> inspected with 'hat'.
>>
>> On 3/20/07, Xavier Toth <tx...@gmail.com> wrote:
>>> I'm using Spring, Lingo and ActiveMQ. My processes routinely create
>>> new queues use them for awhile and then hopefully destroy them. But
>>> it's the last part that's got me concerned. I close the Spring context
>>> from which were created beans of class ActiveMQConnectionFactory,
>>> ActiveMQQueue, LingoRemoteInvocationFactory and a few others but
>>> despite my efforts to cleanup I'm getting OutOfMemory exceptions. I've
>>> run jmap and seen the number of instances of some of these classes 
>>> growing
>>> overtime and through use. I've run hat on the hprof dumps and see 
>>> that these
>>> objects are accessible from the rootset but it's unclear to me who is
>>> hanging on the their references. Is there anything I should be
>>> explicitly doing in my code when I close the context to make sure
>>> ActiveMQ cleans up it's objects? Are there any know memory leaks in
>>> ActiveMQ? I've experience similar results on 3.2.2 and 4.1.0.
>>>
>>> Ted
>>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/ActiveMQ-object-cleanup-tf3436806s2354.html#a10011742
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ object cleanup

Posted by James Strachan <ja...@gmail.com>.
Transport threads die when the connection is closed. Session threads
die when the connection is closed.

On 4/16/07, drvillo <f....@gmail.com> wrote:
>
> Hi
>
> actually I also would like to know how to tell AMQ threads to quit...
> Francesco
>
>
> txtoth wrote:
> >
> > Well I thought I was on to something. I created a threadgroup and put my
> > thread in it and sure enough the activemq created threads as part of my
> > spring context creation get created in my thread group, great. Then when
> > I close my spring context I get the threadgroup and call interrupt and
> > my thread catches the interrupt exception and completes. The only
> > problem is that now I've got threadgroups hanging around with only
> > activemq related threads in them. It would appear that these threads
> > aren't quiting when they receive the interrupt exception :(
> >
> >
> > Xavier Toth wrote:
> >> On further inspection I see that there are a number of threads started
> >> on behalf of ActiveMQ and I'm wondering if and how these ever get
> >> cleaned up? I've included a super simplified example of a standalone
> >> broker and client along with build and run scripts (the classpath will
> >> have to be changed for these to work on another system). The run
> >> script will generate a hprof dump on exit (Ctrl-C) that can be
> >> inspected with 'hat'.
> >>
> >> On 3/20/07, Xavier Toth <tx...@gmail.com> wrote:
> >>> I'm using Spring, Lingo and ActiveMQ. My processes routinely create
> >>> new queues use them for awhile and then hopefully destroy them. But
> >>> it's the last part that's got me concerned. I close the Spring context
> >>> from which were created beans of class ActiveMQConnectionFactory,
> >>> ActiveMQQueue, LingoRemoteInvocationFactory and a few others but
> >>> despite my efforts to cleanup I'm getting OutOfMemory exceptions. I've
> >>> run jmap and seen the number of instances of some of these classes
> >>> growing
> >>> overtime and through use. I've run hat on the hprof dumps and see
> >>> that these
> >>> objects are accessible from the rootset but it's unclear to me who is
> >>> hanging on the their references. Is there anything I should be
> >>> explicitly doing in my code when I close the context to make sure
> >>> ActiveMQ cleans up it's objects? Are there any know memory leaks in
> >>> ActiveMQ? I've experience similar results on 3.2.2 and 4.1.0.
> >>>
> >>> Ted
> >>>
> >
> >
> >
>
> --
> View this message in context: http://www.nabble.com/ActiveMQ-object-cleanup-tf3436806s2354.html#a10011742
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 

James
-------
http://radio.weblogs.com/0112098/