好了之後,我發現我在做什麼錯。看起來,只有application.conf
的一部分被加載時,覆蓋不起作用。
val system = ActorSystem("myActorSystem",ConfigFactory.load.getConfig("client"))
application.conf文件:
client{
akka {
log-config-on-start = on
loglevel = "INFO"
actor {
provider = "akka.remote.RemoteActorRefProvider"
include "serialization.conf"
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "127.0.0.1"
port = 2552
}
log-sent-messages = off
log-received-messages = off
}
}
}
當您通過
配置男主角系統只從application.conf這樣加載特定部分不能覆蓋與
-Dakka.remote.netty.port=2553
的網狀口
在這種情況下,儘管您指定「客戶端」作爲要加載的子部分,但您仍需要預先將「客戶端」作爲您的值的鍵,以便使用命令行參數覆蓋它們。
請注意,雖然這樣配置文件中的值不會被「client」預先加載。因此,通過使用-Dclient.akka.remote.netty.port=2553
,您可以按照習慣進行有效覆蓋。
「您只能通過加載特定部分來覆蓋netty端口......」。這裏沒有錯。將'client'添加到conf文件後,您還應該將其添加到java選項。因此,而不是Dakka.remote.netty.port = 2553你應該嘗試-D **客戶**。akka.remote.netty.port = 2553'。 – Cherry