借助Spring Cloud轻松关闭/停止RabbitMQ消费者

时间:2020-01-16 13:39:32

标签: java spring-boot rabbitmq spring-cloud-stream spring-rabbitmq

已编辑的问题

我有一个运行Spring Boot 2.1Spring Cloud Finley.M2的spring-boot应用程序。该应用程序与RabbitMQ集成在一起,并使用其他服务向其发送的消息。通过使用Spring Cloud的@StreamLinster@EnableBinding抽象来实现与RabbitMQ的集成,如下所示:

@EnableBinding(CustomChannels.class)
public class IncomingChannelHandler {

@StreamListener("inboundChannel")
public void handleIncoming(String incoming) {
    final IncomingActionDTO dto = gson.fromJson(incoming, IncomingActionDTO.class);

    handleIncoming(dto);

  }
}

我的目标是能够以编程方式停止和开始成为RabbitMQ队列的使用者。

我尝试了RabbitListenerEndpointRegistry的解决方案,但结果却不是我所需要的,因为停靠使我成为了排队的消费者。我还试图在整个生命周期中都停止它,这同样行不通。

是否有一种方法可以通知队列,以停止将您视为消费者,直到应用程序再次注册为消费者为止。

0 个答案:

没有答案