【问题标题】:Using Filters to control message delivery in a HornetQ cluster?使用过滤器来控制 HornetQ 集群中的消息传递?
【发布时间】:2011-09-12 00:27:07
【问题描述】:

由于业务需求,我正在使用 JMS 消息传递设置,其中:

  • 队列必须由应用程序容器定义。
  • 队列必须能够存在于集群中,并且能够平衡负载。
  • 应用程序必须允许客户端指定可以从该队列接收消息的集群节点子集。

目前每个节点都有相同的 hornetq 配置,并且每个节点都使用默认的广播设置进行通信。

阅读文档后,我想到我可以在消息上设置一个包含合法集群节点列表的属性,然后按照 'position(${currentNode}, LEGAL_NODES) != 0'。到目前为止,我还没有取得太大的成功,主要是因为 hornetq 文档中的文档参差不齐。

有没有人解决过这样的问题?你是怎么做到的?

【问题讨论】:

    标签: jms cluster-computing hornetq


    【解决方案1】:

    我最终在每个队列上都使用了这个选择器:

    <selector string="LEGAL_NODES LIKE '%${cluster_identifier}%' OR LEGAL_NODES = ''"/>
    

    之后,我使用 Spring MessagePostProcessor 为每条消息设置 LEGAL_NODES 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 2014-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多