使用带有 dropwizard 的 env 变量覆盖服务器连接器配置
我已经在dw邮件列表上发布了这个问题,但没有得到答案。
我可以假设下面的YML格式不再适用于DW 0.7.0吗?(使用 @ char 插入 env var)
server:
applicationConnectors:
- type: http
bindHost: @OPENSHIFT_DIY_IP@
port: @OPENSHIFT_DIY_PORT@
错误:
格式错误的 YAML 在第 28 行,列:17;在扫描下一个令牌时;找到无法启动任何令牌的字符 @ '@'。(不要使用 @ 进行缩进);在“读者”中,第 28 行,第 17 列:bindHost:@OPENSHIFT_DIY_IP@
所以我决定使用这种格式:
server:
type: simple
applicationContextPath: /
adminContextPath: /admin
connector:
type: http
bindHost: localhost
port: 8080
并尝试通过jvm选项覆盖它:
java -Ddw.server.connector.bindHost=$OPENSHIFT_DIY_IP -Ddw.server.connector.port=$OPENSHIFT_DIY_PORT -jar target/myapp.jar server myapp.yml
我的本地环境变量:
OPENSHIFT_DIY_IP=localhost
OPENSHIFT_DIY_PORT=8080
我从此设置中获得的错误:
线程“main” java.lang.RuntimeException中的异常:java.net.SocketException:Org.eclipse.jetty.setuid.SetUIDListener.lifeCycleStarting(SetUIDListener.java:213)...原因: java.net.SocketException: 未解析的地址 at sun.nio.ch.Net.translateToSocketException(Net.java:157) ...WARN [2014-05-03 20:11:19,412] org.eclipse.jetty.util.component.AbstractLifeCycle: FAILED org.eclipse.jetty.server.Server@91b85: java.lang.RuntimeException: java.net.SocketException: Unresold address
我做错了什么?