我正在开发一个app用户可以创建/删除队列的应用程序。此外,他可以将消息从1个队列移动到另一个队列,删除消息,根据某些过滤器重新排列队列中的消息。
一种可能的设计是将activemq用于队列和apache camel,用于与Grails集成的各种其他操作。 但我不确定ActiveMQ是否允许在运行时创建/删除队列 这是否是实施此类系统的不错选择?
答案 0 :(得分:3)
还有关于AMQ和按需创建目的地的一些信息 http://activemq.apache.org/how-do-i-create-new-destinations.html
答案 1 :(得分:3)
是的,您可以在运行时创建/删除/管理ActiveMQ队列。这可以使用ActiveMQ / Camel API或JMX API来完成......
本文更详细地讨论了ActiveMQ JMX API方法......
http://www.consulting-notes.com/2010/08/monitoring-and-managing-activemq-with.html
您可以使用Camel的recipientList动态路由到端点(可以是新的JMS队列等)......
答案 2 :(得分:1)
任何JMS客户端都可以使用Session.createQueue()
或Session.createTopic()
。 IIRC,默认情况下这些都是临时性的,这意味着一旦特定会话结束,它们就会消失。
您还应该阅读ActiveMQConnection JavaDoc,它为您提供了许多创建临时或持久目的地(队列和/或主题)的选项。