conf/reference.conf не работи в dist zip в Play 2.2.1 с Akka 2.2.3

Кодирам 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 от потребител, след disted от разработчика. Потърсих в Google за този проблем, но не можах да намеря отговор.


Не съм роден английски, така че моля да ме извините за лошото ми владеене на английски.


person Windymelt    schedule 08.01.2014    source източник


Отговори (1)


Вашият код изглежда добре, Play включва копие на конфигурационния файл в буркана, който генерира.

Ако използвате

-Dconfig.file=/path/to/prod.conf &

като параметър на командния ред (актуализиран път за вашия env) при стартиране трябва да вземе промените

person wegrata    schedule 08.01.2014