kafka 暂停消费

一、代码实现git

kafkaListenergithub

须要指定id,例如这里是:full-part-id。spring

@KafkaListener(topics = "part-full-topic", id = "full-part-id", containerGroup = "full-part-group")
public void listenFullPart(ConsumerRecord<String, String> record) {
    Optional<String> recordOptional = Optional.fromNullable(record.value());
    if (recordOptional.isPresent()) {
        List<PartStockInfoVo> partStockInfoVos = JSONObject.parseArray(recordOptional.get(), PartStockInfoVo.class);
        esPartInfoClient.updateFullIndex(partStockInfoVos);
    }
}

消费开关app

@RestController
public class KafkaManageController {

    @Autowired
    private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;

    @RequestMapping("/stop")
    public void stop() {
        MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("full-part-id");
        listenerContainer.stop();
    }

    @RequestMapping("/start")
    public void start() {
        MessageListenerContainer listenerContainer = kafkaListenerEndpointRegistry.getListenerContainer("full-part-id");
        listenerContainer.start();
    }
}

 

 

参考:spa

一、How can i stop consumers from consuming?code

相关文章
相关标签/搜索