0
我有两个使用Rabbit MQ进行通信并作为单独WAR进行部署的微服务。如果服务1提供消息称为msgS1到队列中,但在那一刻客服2不通(我的队列是直接和我使用的消息交换路由键),然后当我启动我的服务2,它才能接收来自队列的消息msg1?目前我收到Null。什么是正确的方法呢?在消息到达队列后注册监听器
我有两个使用Rabbit MQ进行通信并作为单独WAR进行部署的微服务。如果服务1提供消息称为msgS1到队列中,但在那一刻客服2不通(我的队列是直接和我使用的消息交换路由键),然后当我启动我的服务2,它才能接收来自队列的消息msg1?目前我收到Null。什么是正确的方法呢?在消息到达队列后注册监听器
它应该,因为所有消息都存储在RabbitMQ服务器队列中。然后,你的第二个应用程序可以从中获得它们。要接收消息,应该在Spring Boot应用程序中正确配置队列侦听器。
如果您可以提供您使用的监听器的片段,那会更好。
然而,你可以找到很好的例子here。
另外,这里是基于注解听者的示例:
@EnableRabbit
@Component
public class RabbitMqListener {
Logger logger = Logger.getLogger(RabbitMqListener.class);
@RabbitListener(queues = "queue1")
public void processQueue1(String message) {
logger.info("Received from queue 1: " + message);
}
}