views:

219

answers:

3

I am working on an application where the app user can create / delete queues . Also , he would be able to move a message from 1 queue to another, delete a message , rearrange the messages in the queue based on some filter.

One possible design is to use activemq for queues and apache camel for various other operations having integrated with Grails. But I am not sure whether ActiveMQ allows creation /deleltion queues at runtime.
Would this be a good choice to implement such system?

A: 

Any JMS client can use Session.createQueue() or Session.createTopic(). IIRC, these will be temporary by default, meaning that they'll disappear once the particular session is closed.

You should also read the ActiveMQConnection JavaDoc, which gives you many options for creating temporary or durable destinations (queues and/or topics).

kdgregory
A: 

Also a bit information about AMQ and on demand creation of destinations http://activemq.apache.org/how-do-i-create-new-destinations.html

Claus Ibsen
+1  A: 

Yes, you can create/delete/manage ActiveMQ queues at runtime. This can be done using ActiveMQ/Camel APIs or JMX APIs...

This article discusses the ActiveMQ JMX API approach in more detail...

http://benoday.blogspot.com/2010/08/monitoring-and-managing-activemq-with.html

You can use Camel's recipientList to route dynamically to endpoints (which can be new JMS queues, etc)...

http://camel.apache.org/recipient-list.html

BenODay