IllegalStateException无效的BundleContext karaf

问题描述

所以我有2个捆绑包:

bundle-service
bundle-service-consumer

一个捆绑包通过一个非常简单的Activator公开一个类,该激活器实现BundleContext接口和start / stop方法,并调用bundleContext.registerService()来注册服务类。第二个捆绑包(消费者)通过

查找服务
 ServiceReference<?> ref = bundleContext.getServiceReference( Service.class.getName() );

注册并使用该服务。一切正常。当我更新第二个捆绑软件(消费者)中的代码时会发生什么,我还必须停止/启动第一个捆绑软件(服务),因为如果我没有在使用方中得到无效的捆绑软件上下文错误,为什么?那似乎不对。他们应该是不可知论的。当我停止第二个捆绑软件时,我destroy的所有实例都为空,并且直接使用该服务的类中的所有引用为空。我尽力做到“清理板岩”,但仍然遇到错误

只是试图了解BundleContext的生命周期,以及如何查找和修复我所缺少的内容以及在哪里?就像我说的那样,期望服务是不可知的,我不必与消费者一起重新启动捆绑服务。我没有提到一个鱼子酱,消费者之后还有 other 个捆绑包,它们也涉及/使用所涉及的服务/类,但是所有使用和实例化的类都来自消费者捆绑包。好像我缺少一些小东西。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)