@xtccc
2016-11-07T08:24:34.000000Z
字数 729
阅读 2667
Akka
默认情况下,ConfigFactory.load()
会从resources目录或者classpath中寻找application.conf文件,并加载其中的配置:
val defaultConfigs: Config = ConfigFactory.load()
如过another.conf位于resources目录或者在classpath中,那么:
val anotherConfigs = ConfigFactory.load("another.conf")
不仅会加载another.conf中的配置,同时也会加载application.conf中的配置。
val myConfigs = ConfigFactory.parseString("akka.remote.netty.tcp.port=7000")
val defaultConfigs: Config = ConfigFactory.load()
val configs = myConfigs.withFallback(defaultConfigs)
在configs中,akka.remote.netty.tcp.port的值是7000,而不是defaultConfigs中的配置值。
因为,myConfigs.withFallback(defaultConfigs)
会返回一个新的config,其中包含了myConfigs中的所有配置;并且,如果defaultConfigs中的某些配置不在myConfigs中,也会将他们加入返回的config。注意这里的顺序不能颠倒。