<dependency>
<groupId>org.osgi.enroute.configurer.simple</groupId>
<artifactId>osgi.enroute.configurer.simple.provider</artifactId>
<version>1.0.0</version>
</dependency>
public interface AppConfig {
@Meta.AD(deflt="localhost:8080",description="Application URL")
String url();
@Meta.AD(deflt="admin", description="Username")
String username();
@Meta.AD(deflt="password", description="Password")
String password();
}
@Component(service=AppConfig.class)
public class AppConfigImpl implements AppConfig {
private ConfigurerImpl configurer;
public void updated(Dictionary<String, ?> properties) throws ConfigurationException {
configurer = new ConfigurerImpl(properties);
}
public String url() {
return configurer.get("url", "localhost:8080");
}
public String username() {
return configurer.get("username", "admin");
}
public String password() {
return configurer.get("password", "password");
}
}
url=localhost:8888
username=admin
password=1234
@Component
public class ExampleClass {
@Reference
private AppConfig config;
public void activate() {
String url = config.url();
String username = config.username();
String password = config.password();
}
}