在 OSGi (Apache Felix 4.2.1) 中,我希望我的包在启动时自动检查更新。
我使用以下代码(在我的“管理代理”中)执行此操作。如何判断捆绑包是否已更新?
Bundle[] bundles = context.getBundles();
for (int i = 0; i < bundles.length; i++) {
Bundle bundle = bundles[i];
bundle.update();
}
// which bundle was updated?
我想自动刷新捆绑包(使用FrameworkWiring
),但前提是其中一个.update()
调用实际上导致了我的服务器的新部署。
当我从 Maven 部署到我的 OBR 时,我的 SNAPSHOT 版本具有相同的编号。从gogo,我可以看到Bnd-LastModified
标题发生了变化,但是如何自动化呢?
PS:如果存在简单的解决方案可以比我自己解决整个更新问题更好,我也很感兴趣。它需要精益求精。(Apache Karaf?、Apache ACE?其他?)