【发布时间】:2015-09-13 23:42:59
【问题描述】:
我需要指定一些配置参数,用点分隔。连接池位于 Play 2.4 应用程序中。例如
db {
default {
driver = ${?DB_DRIVER}
url = ${?DB_URL}
username = ${?DB_USER}
password = ${?DB_PASSWORD}
hikaricp {
dataSource {
"javax.net.ssl.trustStore" = ${?DB_TRUST_STORE}
"javax.net.ssl.trustStoreType" = "JKS"
"javax.net.ssl.trustStorePassword" = ${?DB_TRUST_STORE_PASSWORD}
"javax.net.ssl.keyStore" = ${?DB_KEY_STORE}
"javax.net.ssl.keyStoreType" = "JKS"
"javax.net.ssl.keyStorePassword" = ${?DB_KEY_STORE_PASSWORD}
}
}
}
“javax.net.ssl.”等所有参数都用于提供有关用于连接的 SSL 证书的详细信息。看起来 Play 框架正在尝试解析像“javax.net.ssl.”这样的配置键并用点分隔它们。所以它失败并出现异常
Caused by: com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'javax'
我在这里发现了一个类似的话题:How do I get an unwrapped key in Typesafe Config? 根据第一反应
foo {
bar {
baz = 10
}
}
和
一样foo.bar.baz = 10
但写成"foo.bar.baz" = 10就不一样了
我希望使用引号会有所帮助,但它没有,而且似乎是池配置实现中的一个错误。请指教。
【问题讨论】:
标签: java ssl playframework typesafe-config