【发布时间】:2017-07-20 18:09:42
【问题描述】:
似乎有两种方法可以从 OSGi 服务注册表获取配置管理服务。一种是通过实例化 BundleContext,然后从中获取 ServiceReference,然后从中获取 ConfigurationAdmin:
BundleContext bc = FrameworkUtil.getBundle(ManagedService.class).getBundleContext();
ServiceReference ca = bc.getServiceReference(ConfigurationAdmin.class);
ConfigurationAdmin configAdmin = (ConfigurationAdmin) context.getService(ca);
另一种方法是使用蓝图并简单地创建对 ConfigurationAdmin 的引用,如下所示,然后在 bean 中引用它:
<reference id="configAdmin" interface="org.osgi.service.cm.ConfigurationAdmin" />
这两种方法是否等效?还是前一种方法提供了后者没有的东西?是否有任何 Blueprint 参考文档描述了实例化 ConfigurationAdmin 的操作(似乎找不到)?
【问题讨论】:
标签: osgi blueprint-osgi