如何解决如何防止同一微服务的多个实例从 ActiveMQ Artemis 主题读取同一条消息
这个问题类似于一个here,但我不知道如何让这个工作
我有一个 ActiveMQ Artemis Broker v 2.16.0 和带有 spring-jms 5.3.3 的 Spring 微服务项目。我有两个微服务 A 和 B,它们订阅了一个主题。由于工作量大,我运行了两个微服务A的实例。如何配置微服务 A 的两个实例以连接到主题但不使用相同的消息?
解决方法
一般来说,每个 JMS 主题订阅者都会收到发送到该主题的每条消息。但是,JMS 2 引入了“共享”订阅的概念,其中 2 个订阅者共享相同的订阅,因此只有其中一个会收到任何特定消息。您需要在配置 JMS 侦听器容器工厂时调用 setSubscriptionShared(true)
以启用此行为。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。