用范围替换配置

时间:2014-04-27 11:35:33

标签: java scala playframework typesafe typesafe-config

我有很多属性,所以我想尽可能多地重用。 因此我定义了通用对象:

db-user-generic{
  db.host = mymachine

  #mssql or oracle
  db.type = oracle
  db.username = user
  db.password= password

  mssql {
    port = 1433
    name = None
    url = "jdbc:sqlserver://"${?host}":"${?port}
  }
  oracle {
    port = 1521
    serviceNameOrSID = ORCL
    url = "jdbc:oracle:thin:@"${?host}":"${?port}":"${?serviceNameOrSID}
  }
}

此代码的问题是例如: " JDBC:预言:瘦:@" $&#34 {主机?};:"的 $ {端口?} ":" $ {?serviceNameOrSID}

未定义

端口,但已定义db-user-generic.mssql.port。 所以现在inned属性应该知道它的确切位置,这意味着它不能像这样重复使用:

my-db= ${db-user-generic}
my-db=  {
      mssql {
         port= 1111
      }
}

因为url属性也应该被覆盖,因为他引用了db-user-generic.mssql.port而不是my-db.mssql.port

任何人都知道如何解决这个问题?

0 个答案:

没有答案