【问题标题】:How to start spring application even if Kafka listener (spring-kafka) doesn't initialize即使Kafka监听器(spring-kafka)没有初始化,如何启动spring应用程序
【发布时间】:2018-02-18 13:36:16
【问题描述】:

我正在开发一个使用 spring-kafka 的 Kafka 侦听器的应用程序。我面临的问题是当Kafka监听器没有打开时spring上下文初始化失败(各种原因,例如Kafka服务器没有打开或关闭)。如何确保我的应用程序是独立的。

谁能帮忙。

【问题讨论】:

  • 基于配置文件的配置?如果配置文件是 kafka,则基于 kafka 的配置开始?
  • 我没有使用基于配置文件。我正在使用环境变量来控制 Kafka 配置。
  • 我面临的问题是因为 kafka 服务器属于不同的项目,我是他们的客户之一。如果他们的 kafka 服务器停机,我不希望我们的应用程序停机。
  • 所以你已经使用变量来控制它了?如果不使用基于@ConditionalOnProperty 的配置
  • 哦,所以您想在启动应用程序之前对 kafka 进行一些健康检查?

标签: spring apache-kafka spring-kafka


【解决方案1】:

在容器工厂上设置autoStartup(false)

在您的代码中注入(例如@AutowiredKafkaListenerEndpointRegistrystart()(在 try/catch 中)。

您还可以通过从注册表中获取容器来单独启动/停止容器(使用@KafkaListenerid)。

【讨论】:

  • 谢谢加里。我将检查此解决方案并更新我的观察结果。
  • 唯一的问题是,我必须使用某种虚拟名称作为 Kafka 侦听器的主题名称。似乎对那个进行了空检查。
猜你喜欢
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 2020-10-03
  • 2019-06-23
  • 2020-04-27
  • 1970-01-01
  • 2022-01-12
  • 2021-03-11
相关资源
最近更新 更多