Quantcast

How can I remove old queues without a java client?

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

How can I remove old queues without a java client?

James Green-3
Not sure this is even possible?

We dynamically create our queues by pushing messages to channels with
account numbers appended. They get read as the account reads from it's
queue. When that account goes dead and it's messages expired (or no more get
pushed) we then end up with many queues doing nothing but taking up space on
the web console.

Is there perhaps a configuration directive to expire queues? I can't see
anything in the STOMP protocol close to this.

Thanks,

James
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

Martin C.
Hi,

Have a look at http://activemq.apache.org/delete-inactive-destinations.html
This might be what you want.

Best regards,
Martin

On Wed, Jun 15, 2011 at 11:00 PM, James Green <[hidden email]> wrote:

> Not sure this is even possible?
>
> We dynamically create our queues by pushing messages to channels with
> account numbers appended. They get read as the account reads from it's
> queue. When that account goes dead and it's messages expired (or no more get
> pushed) we then end up with many queues doing nothing but taking up space on
> the web console.
>
> Is there perhaps a configuration directive to expire queues? I can't see
> anything in the STOMP protocol close to this.
>
> Thanks,
>
> James
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

dejanb
In reply to this post by James Green-3
Not sure what language are you using, but for Ruby and Perl there are libs
that can connect to JMX. Also, it shouldn't be too hard to create a REST
solution to this. Take a look at existing stuff in activemq-web module.



Regards
--
Dejan Bosanac - http://twitter.com/dejanb
-----------------
The experts in open source integration and messaging - http://fusesource.com
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Wed, Jun 15, 2011 at 11:00 PM, James Green <[hidden email]>wrote:

> Not sure this is even possible?
>
> We dynamically create our queues by pushing messages to channels with
> account numbers appended. They get read as the account reads from it's
> queue. When that account goes dead and it's messages expired (or no more
> get
> pushed) we then end up with many queues doing nothing but taking up space
> on
> the web console.
>
> Is there perhaps a configuration directive to expire queues? I can't see
> anything in the STOMP protocol close to this.
>
> Thanks,
>
> James
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

dejanb
In reply to this post by Martin C.
Thanks Martin, I totally forgot about that :)
Regards
--
Dejan Bosanac - http://twitter.com/dejanb
-----------------
The experts in open source integration and messaging - http://fusesource.com
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Thu, Jun 16, 2011 at 10:04 AM, Martin C. <[hidden email]> wrote:

> Hi,
>
> Have a look at
> http://activemq.apache.org/delete-inactive-destinations.html
> This might be what you want.
>
> Best regards,
> Martin
>
> On Wed, Jun 15, 2011 at 11:00 PM, James Green <[hidden email]>
> wrote:
> > Not sure this is even possible?
> >
> > We dynamically create our queues by pushing messages to channels with
> > account numbers appended. They get read as the account reads from it's
> > queue. When that account goes dead and it's messages expired (or no more
> get
> > pushed) we then end up with many queues doing nothing but taking up space
> on
> > the web console.
> >
> > Is there perhaps a configuration directive to expire queues? I can't see
> > anything in the STOMP protocol close to this.
> >
> > Thanks,
> >
> > James
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

James Green-3
In reply to this post by Martin C.
Now that's helpful... Let me just confirm my understanding:

schedulePeriodForDestinationPurge="10000"

Is telling the broker to delete inactive destinations every ten seconds?

gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"

Is expressing that the policyEntry should be garbage collected and should be
considered garbase if inactive for 30 seconds or more?

There's no definition of what precisely constitutes activity on that page.
Allow me to suggest:

1. A subscription to that destination
2. A send to that destination
3. A message being present on that destination

How far off am I? I assume that a destination includes both queues and
topics?

Thanks,

James

On 16 June 2011 09:04, Martin C. <[hidden email]> wrote:

> Hi,
>
> Have a look at
> http://activemq.apache.org/delete-inactive-destinations.html
> This might be what you want.
>
> Best regards,
> Martin
>
> On Wed, Jun 15, 2011 at 11:00 PM, James Green <[hidden email]>
> wrote:
> > Not sure this is even possible?
> >
> > We dynamically create our queues by pushing messages to channels with
> > account numbers appended. They get read as the account reads from it's
> > queue. When that account goes dead and it's messages expired (or no more
> get
> > pushed) we then end up with many queues doing nothing but taking up space
> on
> > the web console.
> >
> > Is there perhaps a configuration directive to expire queues? I can't see
> > anything in the STOMP protocol close to this.
> >
> > Thanks,
> >
> > James
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

dejanb
Yes, the inactivity means that there's 0 messages for some time and there
are no new producers/consumers added


Regards
--
Dejan Bosanac - http://twitter.com/dejanb
-----------------
The experts in open source integration and messaging - http://fusesource.com
ActiveMQ in Action - http://www.manning.com/snyder/
Blog - http://www.nighttale.net


On Thu, Jun 16, 2011 at 2:45 PM, James Green <[hidden email]>wrote:

> Now that's helpful... Let me just confirm my understanding:
>
> schedulePeriodForDestinationPurge="10000"
>
> Is telling the broker to delete inactive destinations every ten seconds?
>
> gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"
>
> Is expressing that the policyEntry should be garbage collected and should
> be
> considered garbase if inactive for 30 seconds or more?
>
> There's no definition of what precisely constitutes activity on that page.
> Allow me to suggest:
>
> 1. A subscription to that destination
> 2. A send to that destination
> 3. A message being present on that destination
>
> How far off am I? I assume that a destination includes both queues and
> topics?
>
> Thanks,
>
> James
>
> On 16 June 2011 09:04, Martin C. <[hidden email]> wrote:
>
> > Hi,
> >
> > Have a look at
> > http://activemq.apache.org/delete-inactive-destinations.html
> > This might be what you want.
> >
> > Best regards,
> > Martin
> >
> > On Wed, Jun 15, 2011 at 11:00 PM, James Green <[hidden email]>
> > wrote:
> > > Not sure this is even possible?
> > >
> > > We dynamically create our queues by pushing messages to channels with
> > > account numbers appended. They get read as the account reads from it's
> > > queue. When that account goes dead and it's messages expired (or no
> more
> > get
> > > pushed) we then end up with many queues doing nothing but taking up
> space
> > on
> > > the web console.
> > >
> > > Is there perhaps a configuration directive to expire queues? I can't
> see
> > > anything in the STOMP protocol close to this.
> > >
> > > Thanks,
> > >
> > > James
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

James Green-3
Going to try this out on our test network.

Is there a bug for the mis-spelt inactiveTimoutBeforeGC? JIRA appears to be
dead at present.

On 16 June 2011 14:34, Dejan Bosanac <[hidden email]> wrote:

> Yes, the inactivity means that there's 0 messages for some time and there
> are no new producers/consumers added
>
>
> Regards
> --
> Dejan Bosanac - http://twitter.com/dejanb
> -----------------
> The experts in open source integration and messaging -
> http://fusesource.com
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
>
>
> On Thu, Jun 16, 2011 at 2:45 PM, James Green <[hidden email]
> >wrote:
>
> > Now that's helpful... Let me just confirm my understanding:
> >
> > schedulePeriodForDestinationPurge="10000"
> >
> > Is telling the broker to delete inactive destinations every ten seconds?
> >
> > gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"
> >
> > Is expressing that the policyEntry should be garbage collected and should
> > be
> > considered garbase if inactive for 30 seconds or more?
> >
> > There's no definition of what precisely constitutes activity on that
> page.
> > Allow me to suggest:
> >
> > 1. A subscription to that destination
> > 2. A send to that destination
> > 3. A message being present on that destination
> >
> > How far off am I? I assume that a destination includes both queues and
> > topics?
> >
> > Thanks,
> >
> > James
> >
> > On 16 June 2011 09:04, Martin C. <[hidden email]> wrote:
> >
> > > Hi,
> > >
> > > Have a look at
> > > http://activemq.apache.org/delete-inactive-destinations.html
> > > This might be what you want.
> > >
> > > Best regards,
> > > Martin
> > >
> > > On Wed, Jun 15, 2011 at 11:00 PM, James Green <
> [hidden email]>
> > > wrote:
> > > > Not sure this is even possible?
> > > >
> > > > We dynamically create our queues by pushing messages to channels with
> > > > account numbers appended. They get read as the account reads from
> it's
> > > > queue. When that account goes dead and it's messages expired (or no
> > more
> > > get
> > > > pushed) we then end up with many queues doing nothing but taking up
> > space
> > > on
> > > > the web console.
> > > >
> > > > Is there perhaps a configuration directive to expire queues? I can't
> > see
> > > > anything in the STOMP protocol close to this.
> > > >
> > > > Thanks,
> > > >
> > > > James
> > > >
> > >
> >
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How can I remove old queues without a java client?

James Green-3
In reply to this post by dejanb
Dare I ask - would this be something useful to enable in shipping
activemq.xml configuration files?

Just a quick Googling leads me to believe each unused destination requires
AMQ to maintain a destination thread each of which requires RAM and
overhead...

James

On 16 June 2011 14:34, Dejan Bosanac <[hidden email]> wrote:

> Yes, the inactivity means that there's 0 messages for some time and there
> are no new producers/consumers added
>
>
> Regards
> --
> Dejan Bosanac - http://twitter.com/dejanb
> -----------------
> The experts in open source integration and messaging -
> http://fusesource.com
> ActiveMQ in Action - http://www.manning.com/snyder/
> Blog - http://www.nighttale.net
>
>
> On Thu, Jun 16, 2011 at 2:45 PM, James Green <[hidden email]
> >wrote:
>
> > Now that's helpful... Let me just confirm my understanding:
> >
> > schedulePeriodForDestinationPurge="10000"
> >
> > Is telling the broker to delete inactive destinations every ten seconds?
> >
> > gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"
> >
> > Is expressing that the policyEntry should be garbage collected and should
> > be
> > considered garbase if inactive for 30 seconds or more?
> >
> > There's no definition of what precisely constitutes activity on that
> page.
> > Allow me to suggest:
> >
> > 1. A subscription to that destination
> > 2. A send to that destination
> > 3. A message being present on that destination
> >
> > How far off am I? I assume that a destination includes both queues and
> > topics?
> >
> > Thanks,
> >
> > James
> >
> > On 16 June 2011 09:04, Martin C. <[hidden email]> wrote:
> >
> > > Hi,
> > >
> > > Have a look at
> > > http://activemq.apache.org/delete-inactive-destinations.html
> > > This might be what you want.
> > >
> > > Best regards,
> > > Martin
> > >
> > > On Wed, Jun 15, 2011 at 11:00 PM, James Green <
> [hidden email]>
> > > wrote:
> > > > Not sure this is even possible?
> > > >
> > > > We dynamically create our queues by pushing messages to channels with
> > > > account numbers appended. They get read as the account reads from
> it's
> > > > queue. When that account goes dead and it's messages expired (or no
> > more
> > > get
> > > > pushed) we then end up with many queues doing nothing but taking up
> > space
> > > on
> > > > the web console.
> > > >
> > > > Is there perhaps a configuration directive to expire queues? I can't
> > see
> > > > anything in the STOMP protocol close to this.
> > > >
> > > > Thanks,
> > > >
> > > > James
> > > >
> > >
> >
>
Loading...