Jms ActiveMQ使用通配符创建分层主题

Jms ActiveMQ使用通配符创建分层主题,jms,activemq,wildcard,hierarchical,Jms,Activemq,Wildcard,Hierarchical,我在ActiveMQ文档中读到,可以使用通配符创建子主题。例如,我可以创建主题: 物理环境条件 物理环境。基础设施 物理环境。位置 然后,我可以注册到其中一个主题,也可以注册到所有主题(PhysicalEnvironment.>) 但它如何适用于更复杂的结构,如: 闪烁的主题会被称为: 物理环境、条件、灯光、闪烁 我还能有一个精确的选择吗,比如只订阅灯光下考虑的主题: PhysicalEnvironment.Conditions.Light.> 因此,基本上,我是在问是否有子主题的

我在ActiveMQ文档中读到,可以使用通配符创建子主题。例如,我可以创建主题:

  • 物理环境条件
  • 物理环境。基础设施
  • 物理环境。位置
然后,我可以注册到其中一个主题,也可以注册到所有主题(PhysicalEnvironment.>)

但它如何适用于更复杂的结构,如:

闪烁的主题会被称为:

  • 物理环境、条件、灯光、闪烁
我还能有一个精确的选择吗,比如只订阅灯光下考虑的主题:

  • PhysicalEnvironment.Conditions.Light.>

因此,基本上,我是在问是否有子主题的级别限制,以及是否有更简单的方法来创建分层主题顺序。

在我10多年的消息传递过程中,每一个分层主题结构最终都会被替换,b/c分类法永远不起作用。您的总体消息模式表明总容量适中,因此我建议使用灵活的事件模型,在该模型中,您可以使用字段定义差异与主题名称eventType=“Environmental”sensorType=“Light”。这允许您添加新的,然后可以选择过滤掉客户想要和不想要的内容,而不必与代理发生冲突


另一种选择是使用JMS头执行相同的操作。这将允许您使用选择器进行代理端筛选。

您预计总共有多少主题?客户的期望是什么?每小时的预期邮件数是多少?以字节为单位的预期消息大小是多少?主题的完整结构仍然没有定义,但如果我不得不猜测的话,我会说大约30-50。对于客户来说,这很难说,因为酒吧/酒吧是用于自适应系统的,所以它可能会非常多。(容易超过100)。由于涉及到传感器,可能每隔几秒钟就发送一次信息。消息的大小相当小,因为它将是包含有限信息的JSON对象。