4
我正在編寫一個Akka微內核應用程序,並希望使用java.net.InetAddress.getLocalHost.getHostAddress
來確定它是自己的主機IP。如果此通話成功,我會使用地址akka.remote.netty.hostname
,但如果沒有,我會回落到application.config
中的值。將Akka配置與我的配置結合起來
這與System.setProperty("akka.remote.netty.hostname", addr)
一起工作正常,的Akka docs中顯示。
問題出現在我想首先檢查是否在application.config中設置了其他某個鍵時。例如,以下內容將無法覆蓋主機地址,因爲(我認爲)初始調用ConfigFactory.load()
意味着後面的System.setProperty
不起作用。
if(ConfigFactory.load().getBoolean("my-app.do-something")){
//Do some stuff, then change the host address
Try{
java.net.InetAddress.getLocalHost.getHostAddress
} match {
case Success(addr) =>
System.setProperty("akka.remote.netty.hostname", addr)
case Failure(_) =>
}
}
我必須使用配置我自己的應用程序單獨的配置文件,或者是有另一種方式來解決上述問題?