我正在尝试使用默认的Kafka配置设置,但我不确定${akka.kafka.consumer}是如何设置的。阅读https://doc.akka.io/docs/alpakka-kafka/current/consumer.html#config-inheritance我定义了以下内容:
在application.conf中,我定义:
our-kafka-consumer: ${akka.kafka.consumer} {
kafka-clients {
bootstrap.servers = "kafka-host:9092"
}
}但是,当我启动Akka集群时,接收错误:
Could not resolve substitution to a value: ${akka.kafka.consumer}${akka.kafka.consumer}是启动Akka集群时需要外部设置的环境变量,还是${akka.kafka.consumer}是一个已经存在的配置变量?
重点是使用${akka.kafka.consumer},然后根据需要覆盖缺省值?
发布于 2022-03-01 12:47:29
正如您已经注意到的,文档的部分是“配置继承”。它展示了如何在一节中定义您的正常配置,然后在另一节中扩展/替换该配置。他们展示的示例顶部有一个akka { kafka.consumer }部分(单击示例中的"source“按钮查看此部分)。然后,由于HOCON的命名和继承特性,可以使用${akka.kafka.consumer}从该部分继承。没有必要实际使用继承来配置Alpakka,这只是一个最佳实践。如果您只是尝试使用默认配置,那么它已经是默认配置了。
例如,如果您只是试图定义引导服务器,则不必像在该示例中那样使用继承。您可以直接指定akka.kafka.consumer.kafka-clients.bootstrap.servers = "yourbootstrap:9092"。继承只是为了在一个地方指定共享设置。
如果您只是想学习如何配置Alpakka,请参阅设置上面的部分。我发现查看参考配置是非常有帮助的,您可以通过单击“重要消费者设置”旁边的reference.conf选项卡来查看该配置。
https://stackoverflow.com/questions/71298912
复制相似问题