获取服务器列表Ebean + Play

时间:2014-12-02 15:15:40

标签: oracle playframework ebean

我需要获取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.*"

我的预期输出是一个包含(defaulttest)的列表。有没有人知道如何在不解析孔文件的情况下获得此功能? 提前谢谢。

1 个答案:

答案 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]