Chcę wskazać moją aplikację odtwarzania na konkretny plik konfiguracyjny aplikacji na podstawie środowiska, w którym działa. Są trzy i odpowiadają standardowym Stanom odtwarzania:Wykryj odtwarzanie w trybie 2.2.x przed uruchomieniem aplikacji za pomocą Java
- application.dev.conf
- application.test.conf
- application.prod.conf
współpracownik wspólną metodę dla tej operacji, która wymaga ustawienie Środ OS Zmienna onment.
Chciałbym wyeliminować konieczność ustawiania zmiennej systemu operacyjnego. Mój preferencji jest zastosowanie niezależnie Gra wykorzystuje przy starcie wiedzieć, w jakim trybie jest w.
Na przykład, jeśli wykonasz play run
z linii poleceń, część produkcji jest "[info] play - Application started (Dev)"
chcę użyć tego informacje zawarte w moim Global.java gdzie zastępują onLoadConfig tak:
public Configuration onLoadConfig(Configuration baseConfiguration, File f, ClassLoader loader) {
String playEnv=<some static method to get mode>;
Config additionalConfig = ConfigFactory.parseFile(new File(f,"conf/application."+playEnv+".conf"));
Config baseConfig = baseConfiguration.getWrappedConfiguration().underlying();
return new Configuration(baseConfig.withFallback(additionalConfig));
}
Wszystko, co mogę znaleźć jak to zrobić to po aplikacja została uruchomiona czyli używając isDev(),(), isTest isProd() .
Czy istnieje metoda statyczna, która zapewnia tryb, gdy nadpisuję LoadConfig w pliku Global.java?
W Scala znajduje się parametr 'mode' w Javie nie ma. Więc otworzyłem bilet: https://github.com/playframework/playframework/issues/2279 –
Dzięki Antonio. Będę śledzić problem. –