Pureconfig类型安全配置与层次的根密钥

我有以下application.conf并试图找出定义我的课班上最好的方式来加载配置:Pureconfig类型安全配置与层次的根密钥

allKeys { 

mysql {

dev {

host = <host1>

user = <user1>

}

prod {

host = <host1>

user = <user1>

}

hdfs {

endpoint = <host1>

port = <port1>

}

}

my case classes:

case class Settings(mysql: DbSettings, hdfs: HdfsSettings)

case class DbSettings(host: String, user: String)

case class HdfsSettings(endpoint: String, port: String)

我在遇到问题的认识如何正确加载,以便它在hdfs中查找类似的键时不会失败。

回答:

您需要定义您的案例类以适应配置结构。

case class HdfsConfig(endpoint: String, port: Int) 

case class DbConfig(host: String, user: String)

case class MySqlConfig(dev: DbConfig, prod: DbConfig)

case class AllConfigs(mysql: MySqlConfig, hdfs: HdfsConfig)

case class MyConfig(allKeys: AllConfigs)

现在你可以阅读这些作为,

loadConfig[MyConfig](conf) 

以上是 Pureconfig类型安全配置与层次的根密钥 的全部内容, 来源链接: utcz.com/qa/263384.html

回到顶部