我有以下激活器,旨在使用OSGI框架中的wireAdmin服务。这是激活剂的起始方法。
@Override
public void start(BundleContext context) throws Exception {
Hashtable props = new Hashtable<>();
props.put("service.pid", "consumer.service");
props.put(WireConstants.WIREADMIN_CONSUMER_FLAVORS,
new Class [] {Object.class});
ServiceRegistration reg = context.registerService(WireConsumer.
class.getName(), this, props);
ServiceReference ref = context.getServiceReference(
WireAdmin.class.getName());
WireAdmin wa = (WireAdmin) context.getService(ref);
Wire wire = wa.createWire("producerwire.service",
"consumer.service", new Hashtable<>());
}
我所做的是尝试使用框架中的WireAdmin服务。问题是我得到一个NullPointer异常,因为框架中没有WireAdmin服务。已使用以下捆绑包进行WireAdmin服务。 org.osgi.service.wireadmin,它没有向框架注册任何服务。所以,我想我的问题是,如果我们要从框架中获取wireadmin服务的参考,那么捆绑使用哪个?