有没有选择器在JMS中实现多对多关系的方法?

时间:2012-01-17 13:38:29

标签: java jms activemq

我该如何实现这个模型: 许多用户使用来自许多主题的消息。

实际上,消息将是来自那些将通过长轮询向最终用户显示的主题的事件。

订阅可能会重叠。

如您所知,可能有许多订阅,所以我不认为选择器是最好的方法。我也怀疑,为每个用户的每个订阅创建消费者并不能随着用户数量的增长而扩展。

我正在使用ActiveMQ 5

谢谢你的答案。

1 个答案:

答案 0 :(得分:2)

为您的订阅使用主题和activemq通配符 http://activemq.apache.org/wildcards.html

例如:每种消息类型都有一个目的地,每个用户通过使用通配符或提供目的地列表(他们在创建目的地时接受分号分隔的目的地列表)来支持他想要的所有主题。

session.createTopic("first;second;any.children.>;only.*.those")

此主题的消费者获取主题的所有消息: 第一 第二 any.children(和任何一个hirarchy孩子) only..those