2015-10-28 35 views
0

我有两个使用Rabbit MQ进行通信并作为单独WAR进行部署的微服务。如果服务1提供消息称为msgS1到队列中,但在那一刻客服2不通(我的队列是直接和我使用的消息交换路由键),然后当我启动我的服务2,它才能接收来自队列的消息msg1?目前我收到Null。什么是正确的方法呢?在消息到达队列后注册监听器

回答

0

它应该,因为所有消息都存储在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); 
    } 
}