Stop consume message for Stream listener

前端 未结 1 1958
Happy的楠姐
Happy的楠姐 2020-12-06 09:11

I am looking for a way to stop consume messages with stream listener.

@StreamListener(MBinding.M_INPUT)
    public void consumeMessage(Message

        
1条回答
  •  粉色の甜心
    2020-12-06 09:28

    You can do it using the actuator (see Binding Visualization and Control). Or you can invoke the endpoint programmatically.

    @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);
            };
        }
    
    }
    

    0 讨论(0)
提交回复
热议问题