我有一个OSGI Bundle A和Bundle B. Bundle B依赖于Bundle A.
Bundle B和Bundle A都处于活动状态。
现在我需要了解以下场景对Bundle B的影响
1)我已经停止了Bundle A,Bundle B会发生什么。
2)我已经卸载了Bundle A. Bundle B会发生什么。
3)我已经停止了Bundle A,然后我停止了Bundle B,现在我正在尝试从已安装状态解析B。
4)我已经卸载了Bundle A,然后我停止了Bundle B,现在我正在尝试从已安装的状态解析B.
有人可以回答这个问题吗?
我已经尝试使用apache Felix控制台,在上述任何一种情况下我都没有看到对B的任何影响。
有人可以帮我吗?
答案 0 :(得分:0)
影响应如下:
refresh
)<强>更新强>
在评论中,@ Ngupta要求&#34;请分享一些关于为什么B总是得到解决的解释,即使它所需的包不再存在&#34;。
我的回答:即使您卸载了依赖关系,B也会保持处于已解决状态。但是,如果缺少依赖关系,B将不会转换为已解析状态。
您可以通过执行refresh
来强制B重新解析(并且此重新解析应该失败),这是您可以从Gogo shell执行的操作。事实上,在执行一系列安装,更新或删除操作后,您应始终执行refresh
。