Opublikowałem to pytanie na liście adresowej DW, ale nie otrzymałem odpowiedzi.Zastępowanie konfiguracji złącza serwera ze zmiennymi env za pomocą dropwizard
Czy mogę założyć, że poniższy format YML nie działa już dla DW 0.7.0? (Użycie @ char wstawić env var)
server:
applicationConnectors:
- type: http
bindHost: @[email protected]
port: @[email protected]
Błąd:
Malformed YAML at line: 28, column: 17; while scanning for the next token; found character @ '@' that cannot start any token. (Do not use @ for indentation); in 'reader', line 28, column 17: bindHost: @[email protected]
Więc postanowiłem użyć tego formatu:
server:
type: simple
applicationContextPath:/
adminContextPath: /admin
connector:
type: http
bindHost: localhost
port: 8080
i starał się zastąpić go za pośrednictwem opcji JVM :
java -Ddw.server.connector.bindHost=$OPENSHIFT_DIY_IP -Ddw.server.connector.port=$OPENSHIFT_DIY_PORT -jar target/myapp.jar server myapp.yml
Moje lokalne en v zmienne:
OPENSHIFT_DIY_IP=localhost
OPENSHIFT_DIY_PORT=8080
Błąd dostałem od tej konfiguracji:
Exception in thread "main" java.lang.RuntimeException: java.net.SocketException: Unresolved address at org.eclipse.jetty.setuid.SetUIDListener.lifeCycleStarting(SetUIDListener.java:213) ... Caused by: java.net.SocketException: Unresolved address at sun.nio.ch.Net.translateToSocketException(Net.java:157) ... WARN [2014-05-03 20:11:19,412] org.eclipse.jetty.util.component.AbstractLifeCycle: FAILED [email protected]: java.lang.RuntimeException: java.net.SocketException: Unresolved address
Co robię źle?
@StephenNYC to powinna być teraz akceptowana odpowiedź, ponieważ jest wbudowana w dropwizard – davnicwil
@Warfox, od dropwizard '1.1.4', aby uzyskać domyślne wartości do działania, musisz wyłączyć tryb ścisły za pomocą' new EnvironmentVa riableSubstitutor (false) '. Inaczej wyrzuci to 'UndefinedEnvironmentVariableException' src: https://github.com/dropwizard/dropwizard/blob/master/dropwizard-configuration/src/main/java/io/dropwizard/configuration/EnvironmentVariableSubstitutor.java – EFreak
thanks @EFreak, I zaktualizowałem moją odpowiedź – WarFox