<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
<version>0.7.6</version>
</dependency>
import com.netflix.archaius.api.*;
import com.netflix.archaius.api.config.*;
import com.netflix.archaius.api.exceptions.*;
import com.netflix.archaius.config.*;
import com.netflix.archaius.hystrix.*;
import org.apache.commons.configuration.*;
import java.util.concurrent.*;
public class MyClass {
private MyConfig config;
public MyClass() {
ConfigurationManager.getConfigInstance().setDeploymentContext(
new DeploymentContext() {
@Override
public String getDeploymentEnvironment() {
return "default";
}
@Override
public String getDeploymentRegion() {
return "us-west-1";
}
@Override
public String getApplicationId() {
return "my-application";
}
});
PolledConfigurationSource source = new FixedDelayPollingScheduler();
DynamicConfiguration dynamicConfiguration = new DynamicConfiguration(source, new ConfigurationBuilder());
ConfigurationManager.getConfigInstance().addConfiguration(dynamicConfiguration);
config = DynamicPropertyFactory.getInstance().getBean(MyConfig.class);
}
public void doSomething() {
System.out.println("Config value: " + config.getValue());
}
public static void main(String[] args) {
MyClass myClass = new MyClass();
myClass.doSomething();
}
}
class MyConfig {
@DefaultStringValue("default value")
public final DynamicStringProperty value = DynamicPropertyFactory.getInstance().getStringProperty("myapp.config.value", "default value");
}
myapp.config.value = example value