模式确认使用者/生产者,无需自动启动kafkalistener

时间:2019-01-28 16:59:05

标签: spring-boot apache-kafka

要实现在不需要运行kafka服务器的情况下启动spring boot应用程序,我用以下方式用autostartup = false定义了使用者:

 @KafkaListener(id = "myContainer", topics = {"myTopic"}, autoStartup = "false")
    public void receive(ConsumerRecord<String, Foo> consumerRecord) {
        log.info("consuming {}", consumerRecord);
    }

现在开始最初的消费者,我将其与生产者中该主题的生产者联系起来:

public void sendFoo(Foo foo) {

        try {
            kafkaListenerEndpointRegistry.getListenerContainer("myContainer").start();
        }catch(Exception e){
            log.info(e.getMessage());
        }
        kafka.send(mytopic, foo);
    }

这是推荐的模式还是存在更好的模式?

0 个答案:

没有答案