我需要获取application.conf
文件中所有现有服务器的列表,我看一下EBean
类,但我只找到了如何获取特定服务器Ebean.getServer("test")
,这也会返回一个EbeanServer
对象,我需要一个字符串值。
这是我的application.conf的一部分:
db.default.driver=oracle.jdbc.OracleDriver
db.default.url="jdbc:oracle:thin:@//178.20.26.25:1521/orcl"
db.default.user="TEST1"
db.default.password="test1"
db.test.driver=oracle.jdbc.OracleDriver
db.test.url="jdbc:oracle:thin:@//178.20.26.26:1521/orcl"
db.test.user="TEST"
db.test.password="test"
ebean.default="models.*"
ebean.test="models.*"
我的预期输出是一个包含(default
,test
)的列表。有没有人知道如何在不解析孔文件的情况下获得此功能?
提前谢谢。
答案 0 :(得分:2)
以下代码将给出set而不是list:
Map<String, String> map = (Map<String, String>) play.Play.application().configuration().getObject("db");
Set<String> keys = map.keySet();
如果您想以type safe
方式进行并摆脱编译器警告:
Set<String> keys = play.Play.application().configuration().getConfig("db").subKeys();
这两个示例都将返回db
密钥的子密钥,即[default, test]
。