<dependencies> <dependency> <groupId>org.osgi.enroute.configurer.simple.provider</groupId> <artifactId>org.osgi.enroute.configurer.simple.provider.api</artifactId> <version>1.0.0</version> </dependency> </dependencies> import org.osgi.service.configurator.annotations.Configuration; import org.osgi.service.configurator.annotations.Required; @Configuration public interface MyAppConfig { @Required String getApiEndpoint(); int getMaxConnections() default 10; boolean isDebugEnabled() default false; } import org.osgi.enroute.configurer.simple.provider.api.ConfigurationDone; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; import org.osgi.service.configurator.annotations.RequireConfigurationExtender; import org.osgi.service.log.LogService; @Component @RequireConfigurationExtender public class MyAppConfigProvider implements MyAppConfig { private String apiEndpoint; private int maxConnections; private boolean debugEnabled; @Reference ConfigurationDone configDone; @Reference(service = LogService.class, unbind = "unbindLogService") void bindLogService(LogService logService) { } void unbindLogService(LogService logService) { } @Override public String getApiEndpoint() { return apiEndpoint; } @Override public int getMaxConnections() { return maxConnections; } @Override public boolean isDebugEnabled() { return debugEnabled; } void updated() { configDone.updated(); } } apiEndpoint=https://example.com/api maxConnections=20 debugEnabled=true


上一篇:
下一篇:
切换中文