已编辑的问题
我有一个运行Spring Boot 2.1
和Spring 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
的解决方案,但结果却不是我所需要的,因为停靠使我成为了排队的消费者。我还试图在整个生命周期中都停止它,这同样行不通。
是否有一种方法可以通知队列,以停止将您视为消费者,直到应用程序再次注册为消费者为止。