我正在寻找一种方法来停止使用流侦听器消耗消息。
@StreamListener(MBinding.M_INPUT) public void consumeMessage(Message<MerchantEvent> message) { //handle when receive message } cloud: stream: bindings: MInput: destination: topicName group: groupName
我已经用谷歌搜索过,但是现在仍然不知道如何停止消费。有谁知道吗?
您可以使用执行器来完成它(请参阅Binding Visualization and Control)。或者,您可以通过编程方式调用端点。
@SpringBootApplication @EnableBinding(Sink.class) public class So58795176Application { public static void main(String[] args) { SpringApplication.run(So58795176Application.class, args); } @StreamListener(Sink.INPUT) public void listen(String in) { System.out.println(); } @Autowired BindingsEndpoint endpoint; @Bean public ApplicationRunner runner() { return args -> { System.in.read(); endpoint.changeState("input", State.STOPPED); System.in.read(); endpoint.changeState("input", State.STARTED); }; } }