【问题标题】:How to Prevent Multiple Instances of the Same Microservice Reading the Same Message from an ActiveMQ Artemis Topic如何防止同一微服务的多个实例从 ActiveMQ Artemis 主题中读取同一消息
【发布时间】:2021-02-15 22:22:19
【问题描述】:

这个问题与here 类似,但我不确定如何解决这个问题

我有一个 ActiveMQ Artemis Broker v 2.16.0 和带有 spring-jms 5.3.3 的 Spring 微服务项目。我有两个订阅主题的微服务 A 和 B。由于工作量大,我有两个微服务 A 实例正在运行。如何配置微服务 A 的两个实例以连接到主题但不使用相同的消息?

【问题讨论】:

    标签: spring-jms activemq-artemis jms-topic


    【解决方案1】:

    一般来说,每个 JMS 主题订阅者都会收到发送到该主题的每条消息。但是,JMS 2 引入了“共享”订阅的概念,其中 2 个订阅者共享同一个订阅,因此只有其中一个订阅者会收到任何特定消息。您需要在配置 JMS 侦听器容器工厂时调用 setSubscriptionShared(true) 才能启用此行为。

    【讨论】:

    • 谢谢@justin-bertram
    • @CeeTee,很高兴为您提供帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2017-05-05
    相关资源
    最近更新 更多