引用typesafe配置中的值

时间:2014-03-20 10:52:10

标签: config akka typesafe

我有一个配置文件:

app {
    system {
        action-type = "REST"    
    }
}

roles = [${app.system.action-type} "notifier"]

我希望角色有一个值[RESTnotifier],但这种方法给了我一个例外。有什么建议吗?

com.typesafe.config.ConfigException$NotResolved: need to Config#resolve() each config before using it, see the API docs for Config#resolve()

1 个答案:

答案 0 :(得分:4)

如果要在配置中使用替换,则需要在resolve实例上显式调用Config。一个快速示例显示:

import com.typesafe.config.ConfigFactory
import collection.JavaConversions._

object ConfigExample extends App{
  val cfgString = """
    app {
        system {
            action-type = "REST"    
        }
    }

    roles = [${app.system.action-type}"notifier"]        
  """

  val cfg = ConfigFactory.parseString(cfgString).resolve()
  println(cfg.getStringList("roles").toList)
}

请注意对resolve的显式调用。这应该可以解决你的问题。