Exception上的Spring Kafka Stop容器

时间:2017-11-08 21:30:20

标签: spring-kafka

我使用ConcurrentMessageListenerContainer并将auto commit设置为false来使用来自主题的消息并写入数据库。如果数据库关闭,我需要阻止容器在民意调查中处理当前记录,并且不要做下一个poll()。我已经实现了DataSourceHealthIndicator并且在将数据库状态检查为UP之后,我想再次重新启动我的容器来处理剩余的记录。

任何建议我如何停止处理剩余记录并停止容器,我尝试使用consumer.close()。但它并没有阻止这个过程,并且不断抛弃消费者已经关闭。

1 个答案:

答案 0 :(得分:1)

致电container.stop()。如果您使用的是@KafkaListener,请在侦听器容器注册表中调用stop(),这将停止所有已注册的容器。

修改

自{2.1}发布以来automatically stopping the container的错误处理程序已经可用;在撰写本文时,当前版本为2.2.3。