WireAdmin服务未注册

时间:2018-02-19 20:17:11

标签: java osgi bnd

我有以下激活器,旨在使用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服务的参考,那么捆绑使用哪个?

0 个答案:

没有答案