【问题标题】:How to configure durable-subscriber with spring in a cluster如何在集群中使用 spring 配置持久订阅者
【发布时间】:2014-03-19 10:50:50
【问题描述】:

我有一个应用程序发布一些消息。假设是 PaymentHasBeenMadeEvent

{ orderId:'1234'
  totalPaid:'$100'
  balanceStatus: 'BALANCED'
}

有几个应用程序关心这个事件。例如,运输应用程序触发事件的过程或会计应用程序发送事件的电子邮件。

所以我想使用 JMS 持久主题发布此事件。正如我所研究的那样,我应该为每个应用程序配置一个唯一的客户端 ID。

让我感到困惑的是,运输应用程序被部署为具有多个节点的集群。但我希望运输应用程序只使用一次该事件。我该怎么做?

或者解决方案是一个缺陷,因为我误解了什么?

【问题讨论】:

    标签: jms spring-integration spring-jms


    【解决方案1】:

    使用组语法。将每个听众的主题添加到同一个组中。 IE [[payment_group_name]]payment.has.been.made

    【讨论】:

      【解决方案2】:

      您可以使用JMS 2.0 中添加的共享订阅者。如果您使用的是 Spring 4.1,则可以将 subscriptionShared 标志设置为 true,这样集群中只有一个实例会收到消息。

      也值得参考New Messaging Features in JMS 2.0

      【讨论】:

        猜你喜欢
        • 2020-10-30
        • 2017-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-12
        • 2018-05-24
        相关资源
        最近更新 更多