我有两个 Spring Boot 应用程序使用
JmsListener
从名为 onboard_application
的 ActiveMQ Artemis 多播队列和名为 onboard_address
的地址消费,但只有一个应用程序成功接收消息,然后该消息从队列中删除。
我的听众如下所示:
@JmsListener(destination = "onboard_address::onboard_application")
public void applicationOnboardingMessageReceiver(String message) throws JsonProcessingException {
ApplicationDTO appDTO = objectMapper.readValue(message, ApplicationDTO.class);
//Business logic
}
我的消息发送者看起来像:
public void sendMulticastMessage(String channel, Object payload) throws Exception {
try {
jmsTemplate.setPubSubDomain(true);
jmsTemplate.convertAndSend(channel, objectMapper.writeValueAsString(payload));
} catch (JsonProcessingException e) {
//Take action
}
}
application.yml
中的配置:
spring:
artemis:
mode: native
user: artemis
password: artemis
broker-url: tcp://localhost:61616
jms:
pub-sub-domain: true
您能建议我错过了什么或做错了什么吗?预先感谢。