使用dropwizard覆盖带有env变量的服务器连接器配置 [英] Overriding server connector config with env variables with dropwizard

查看:111
本文介绍了使用dropwizard覆盖带有env变量的服务器连接器配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在dw邮件列表上发布了这个问题,但没有得到答案。

I have posted this question on dw mailing list but didnt get an answer.

我可以假设下面的YML格式不再适用于DW 0.7.0吗? (使用@ char插入env var)

Can I assume the YML format below doesnt work for DW 0.7.0 anymore? (The use of @ char to insert env var)

server:
  applicationConnectors:
    - type: http
      bindHost: @OPENSHIFT_DIY_IP@
      port: @OPENSHIFT_DIY_PORT@

错误:


格式错误的YAML在第28行,第17列;扫描下一个标记时;找到无法启动任何令牌的字符@'@'。 (不要使用@代替缩进);在'读者',第28行,第17栏:
bindHost:@OPENSHIFT_DIY_IP @

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: @OPENSHIFT_DIY_IP@

所以我决定使用这种格式:

So I decided to use this format:

server:
  type: simple
  applicationContextPath: /
  adminContextPath: /admin
  connector:
      type: http
      bindHost: localhost
      port: 8080

并尝试通过jvm选项覆盖它:

And tried to override it via jvm options:

java -Ddw.server.connector.bindHost=$OPENSHIFT_DIY_IP -Ddw.server.connector.port=$OPENSHIFT_DIY_PORT -jar target/myapp.jar server myapp.yml

我的本地env变量:

OPENSHIFT_DIY_IP=localhost
OPENSHIFT_DIY_PORT=8080

我从这个设置中得到的错误:

The error I got from this setup:


异常在线程main中java.lang.RuntimeException:java.net.SocketException:未解析的地址
at 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:未解析的地址

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 org.eclipse.jetty.server.Server@91b85: java.lang.RuntimeException: java.net.SocketException: Unresolved address

我做错了什么?

推荐答案

有人创建了捆绑,以便DW能够嵌入env vars

someone created a bundle for DW to be able to embed env vars

这篇关于使用dropwizard覆盖带有env变量的服务器连接器配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆