Dear Team,
Is there any way to read OSGI Configuration values in a Plain JAVA Class (Not Service or Component) ?
Better if someone could help me out with example.
Thank you in advance.
Regards,
Solved! Go to Solution.
Views
Replies
Total Likes
Hi @arvind
Could you try below code:
BundleContext bundleContext = FrameworkUtil.getBundle(ServiceName.class).getBundleContext();
ServiceReference<?> configurationAdminReference =
bundleContext.getServiceReference(ConfigurationAdmin.class.getName());
ConfigurationAdmin confAdmin = (ConfigurationAdmin) bundleContext.getService(configurationAdminReference);
Configuration config = confAdmin.getConfiguration("service-pid");
Dictionary<String, Object> properties = config.getProperties();
if (properties == null) {
LOGGER.error("No Properties found for the Config PID: {}", configPid);
} else {
String property = (String) properties.get("propertyName");
}
Note: Replace hardcoded service-pid and ServiceName with actual one.
Regards,
Arpit
Hi @arvind
Could you try below code:
BundleContext bundleContext = FrameworkUtil.getBundle(ServiceName.class).getBundleContext();
ServiceReference<?> configurationAdminReference =
bundleContext.getServiceReference(ConfigurationAdmin.class.getName());
ConfigurationAdmin confAdmin = (ConfigurationAdmin) bundleContext.getService(configurationAdminReference);
Configuration config = confAdmin.getConfiguration("service-pid");
Dictionary<String, Object> properties = config.getProperties();
if (properties == null) {
LOGGER.error("No Properties found for the Config PID: {}", configPid);
} else {
String property = (String) properties.get("propertyName");
}
Note: Replace hardcoded service-pid and ServiceName with actual one.
Regards,
Arpit
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies