Equinox:框架重新启动后捆绑包的更新丢失
我有一个正在运行的 Equinox osgi 框架,其中包含一堆已启动的捆绑包。现在我使用 osgi 控制台通过“update”更新包。 (或使用提供的方法:bundle.update(url));
一切工作完美......但如果我完全重新启动 osgi 框架,之前更新的包将再次处于原始状态(与更新之前一样)。
我正在使用 eclipse 的 update.configurator 搜索插件目录中的所有包并安装它们,但我认为它可以识别包是否已更新。
有人可以告诉我我错过了什么吗?
谢谢, 迈克尔·曼庚
I've got a running equinox osgi framework with a bunch of started bundles. Now i update a bundle using the osgi console via 'update .
(or use provided method: bundle.update(url));
Everything works perfectly... but if i completly restart the osgi framework the previously updated bundle is in the original state again (as it was before the update).
I'm using the update.configurator of eclipse to search all bundles in the plugins directory and install them but i thought it recognizes if a bundle had been updated.
Can somebody drop me a hint what i'm missing?
thanks,
Michael Mangeng
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你如何开始春分?您是否从 -clean 开始(这会清除任何更新)?
请注意,“更新”只是更新内存中运行的副本,而不是更改磁盘上原始 JAR 上的任何位。如果您启动春分点并传递旧包(但不是新包),那么它可能会返回旧状态。
P2 在某种程度上妨碍了假设,一旦你切割了捆绑包的各个部分,那么此后它就保持不变 - 换句话说,P2 首先有效地中断了 Bundle.update() 的执行。但是,您可能应该管理磁盘上的位,以便即使有人执行 -clean,您也可以获得正确的数据。
How are you starting Equinox? Are you starting with -clean (which would wipe out any updates)?
Note that the 'udpate' just updates the in-memory running copy, rather than changing any bits on the original JAR on disk. If you're starting up equinox and passing in the old bundle (but not the new one) then it might come back as the old state.
P2 gets in the way somewhat in assuming that once you've cut the bits of a bundle, then it remains the same thereafter - in other words, P2 effectively breaks doing bundle.update() in the first place. However, you probably should manage the bits on disk so that even if someone does do a -clean, you get the right data.