- 首先,禁止自动启动
// 禁止自动启动
factory.setAutoStartup(false);
- 在@KafkaListner处配置id
@KafkaListener(topicPattern = "test", containerFactory = "batchFactory", id = "listener")
- 我需要在初始化操作后再开开,因此配置启动后执行,选用CommandLineRunner的方式。
@Autowired
private KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
- 初始化完成后开开监听。
kafkaListenerEndpointRegistry.getListenerContainer("listener").start();
实测有效。