[英]Is there a way to make Ehcache file based configuration override programmatic configuration?
[英]akka java programmatic override configuration
我可以找到的幾個主題是針對Scala的,而不是Java的,沒有一個主題涉及遠程參與者。
我有一個基本配置文件(SERVER_CONFIG_FILE):
Include "akka-common"
TheSystem {
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
deployment {
/OtherSupervisor {
remote = "akka://OtherSystem@127.0.0.1:8553"
}
}
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "127.0.0.1"
port = 8552
}
}
}
}
我想將其加載到程序中,然后覆蓋多個設置,但無法弄清楚代碼。 就像是:
private final Config serverConfig = ConfigFactory.load(SERVER_CONFIG_FILE).withValue...?
我需要覆蓋“ akka://DroneSystem@127.0.0.1:8553”的值以及主機名。 我認為可以通過“ ComparisonSystem.akka.remote.netty.hostname”解決主機名,但確認會有所幫助。
我真的不知道如何處理第一個值,也不知道用什么Java調用來使第一個值組合在一起。 我可以從我看到的示例中學習,但不能從我找到的Scala中學習,並且路徑中沒有任何包含Actor Name的地址。
提前致謝。
您可以這樣操作,請注意,您將Config
實例與替代一起使用,並使其回退到默認配置,而不是相反:
Config overrides = ConfigFactory.parseString("some.setting=a-value");
Config actualConfig = overrides.withFallback(ConfigFactory.load());
或者,如果您不喜歡構建字符串,則可以使用屬性來指定替代:
Properties properties = new Properties();
properties.setProperty("some.setting", "a-value");
Config overrides = ConfigFactory.parseProperties(properties);
Config actualConfig = overrides.withFallback(ConfigFactory.load());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.