Dropwizard:.yml配置是强制性的吗?

时间:2017-10-11 07:28:13

标签: java configuration dropwizard

我有一个基本的Dropwizard v1.2.0应用程序。我可以通过运行:

从命令行执行它
java -jar application.jar server config.yml

Dropwizard是否可以在不传递config.yml文件的情况下工作?

我问,因为,现在,我的config.yml看起来像这样:

mySetting: ${DW_MY_SETTING}
defaultSetting: ${DW_DEFAULT_SETTING:-default value}

我正在使用'DW_MY_SETTING''DW_DEFAULT_SETTING'环境变量填充config.yml,然后config.yml中的值用于设置MyConfiguration.java(这是我的类的名称,扩展了io.dropwizard.Configuration)。

我可以直接从环境变量设置MyConfiguration.java而不用费心浏览config.yml文件吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果你在不指定YAML文件的情况下使用io.dropwizard.Configuration,那么你需要建议它忽略这样的JSON属性:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.dropwizard.Configuration;

@JsonIgnoreProperties(ignoreUnknown = true)
public final class EnvironmentOnlyConfig extends Configuration {
    public static String getDwMySetting() {
        return System.getenv("DW_MY_SETTING");
    }
}