如何动态更新OSGi包?

时间:2016-02-03 15:06:14

标签: dynamic osgi updates

我想在OSGi框架中动态更新捆绑包。 在这里,我想保留组件状态。我知道OSGi中的update命令忽略了维护组件的状态。

我想找到一个像DSUF这样的OSGi更新框架:http://dl.acm.org/citation.cfm?id=2127719

问候。

2 个答案:

答案 0 :(得分:3)

更新捆绑包意味着更新捆绑包的新类加载器。因此,这意味着首先停止捆绑包,将其更新为新版本,然后使用新版本重新启动捆绑包。因此,组件也将使用新版本的捆绑包中的实现类来停止和重新启动。

组件可以在停用期间保存一些可以在重新激活期间恢复的状态,但这需要成为组件实现的一部分。

答案 1 :(得分:0)

我能看到的最简单的方法是通过持久机制(jdbc,文件写入,jms,...)自己保存和恢复上下文。