Я пишу приложение P2P на Scala, которое работает в Play 2.2.1 с Akka 2.2.3. Когда я распространяю свой проект Play, my project/conf/reference.conf
будет включен в dist zip. Это нормально.
Затем я распаковал ZIP и перезаписал conf/reference.conf
, чтобы проверить локализацию для пользовательской среды. Однако мое приложение не работает с использованием конфигурации reference.conf; Он по-прежнему использует настройки по умолчанию. (Akka использует настройки по умолчанию.)
Например, conf/reference.conf:
p2pakka.akka.remote.netty.tcp.hostname="foobar.local"
p2pakka.akka.remote.netty.tcp.port=44444
Фактическое поведение:
p2pakka.akka.remote.netty.tcp.hostname="127.0.0.1"
p2pakka.akka.remote.netty.tcp.port=22223
В моем коде:
val config = ConfigFactory.load()
val customConf = config.getConfig("p2pakka").withFallback({
println("fallbacking");
config
})
val system = ActorSystem("foobar", ConfigFactory.load(customConf))
// still using default settings.
Что касается использования play run
, то conf/reference.conf
работает именно так, как я написал.
Что-то не так с моим кодом? Является ли conf/reference.conf
в zip недействительным?
Я хотел бы знать, как применить изменения в conf/reference.conf
пользователем после dist
ed разработчиком. Я гуглил об этой проблеме, но я не мог найти никакого ответа.
Я не являюсь носителем английского языка, поэтому, пожалуйста, простите мой плохой английский.