Я работаю над проектом dropwizard, в котором я хочу установить другого поставщика источника конфигурации в зависимости от того, включено или нет значение конфигурации.
Поскольку объект конфигурации недоступен в initialize
Я создал глобальную переменную начальной загрузки.Хотя я все еще не могу обновить значения конфигурации.
Любая помощь или руководство о том, как это можно решить?
private Bootstrap<MyConfiguration> bootstrap;
@Override
public void initialize(final Bootstrap<MyConfiguration> bootstrap) {
super.initialize(bootstrap);
this.bootstrap = bootstrap;
}
@Override
public void run(final MyConfiguration configuration,
final Environment environment) {
this.bootstrap.setConfigurationFactoryFactory(
new ImportConfigurationFactoryFactory<>());
if(configuration.isEnabled()) {
this.bootstrap.setConfigurationSourceProvider(
new SubstitutingSourceProvider(
this.bootstrap.getConfigurationSourceProvider(),
new StrSubstitutor(new ConfigSwitcher())));
} else {
this.bootstrap.setConfigurationSourceProvider(
new SubstitutingSourceProvider(
this.bootstrap.getConfigurationSourceProvider(),
new EnvironmentVariableSubstitutor(false)));
}
}