JMS / ActiveMQ动态创建/删除主题

时间:2012-01-18 04:07:40

标签: jms activemq

我环顾四周,找不到我想弄清楚的答案的好答案。

在我的系统中,我在运行时创建主题,其中有一个使用者和单个生产者,用于在运行时创建的主题。我想要输入的是,在运行时创建主题的设计是否违背了JMS设计?

我这样做是因为它向市场提供数据,每个主题都是具有特定股票订阅的数据源,以及每秒库存更新多少报价的可变率。

我无法弄清楚的是,如果我采用这种方法,我希望能够在运行时创建的Feed主题上不再有任何消费者时删除该主题。我如何通过收到关于主题的消费者数量的通知来弄清楚如何停止发布者并删除主题?

希望这不会影响我的声誉,我认为这是一个有效的问题。我查看了activemq中的虚拟主题,但这似乎不适合这个用例。

1 个答案:

答案 0 :(得分:6)

您可以将activemq配置为垃圾收集没有消费者的空目的地

http://activemq.apache.org/delete-inactive-destinations.html

另外还有多种(或多或少简单)方法可以手工完成:

http://activemq.apache.org/how-do-i-purge-a-queue.html

ps:请换行