如何在 Lagom Service 描述符中覆盖 Kafka topicId



我正在尝试弄清楚如何在服务描述符中覆盖Kafka topicId。 我的客户端有一个用于DEV和QA的Kafka集群。但是 Kafka 主题 id 在服务描述符中是硬编码的。因此,应用程序的所有开发和 QA 实例都会在本主题中发布事件。

有没有办法在 application.conf 中定义主题 id 并使用它服务描述符?

添加如下application.conf代码:

topic = "default-topic-name"
topic = ${?ENV-VARIABLE-TOPIC-NAME}

配置中的此选项允许对此键或环境变量中的值使用默认值。这意味着对于每个环境,您可以有不同的主题名称。

在 api 模块中编写以下代码:

val config = ConfigFactory.load()
withTopics(topic(config.getString("topic"), kafkaTopic))

在这里,我们正在加载配置并按键的键名值查找此键并将其作为主题名称。

相关内容

  • 没有找到相关文章

最新更新