gpt4 book ai didi

java - osgi刷新应该什么时候进行?

转载 作者:行者123 更新时间:2023-11-30 06:44:54 24 4
gpt4 key购买 nike

今天,我在更新 bundle 时遇到了一种情况,但是程序继续运行,因为代码没有任何更改。经过一番阅读后,我明白我必须进行 osgi 刷新 - 以下代码(在 SO 上找到):

Bundle systemBundle = bundleContext.getBundle(0);
FrameworkWiring frameworkWiring = systemBundle.adapt(FrameworkWiring.class);
frameworkWiring.refreshBundles(null);

所以我的问题 - 我应该什么时候进行 osgi 刷新?更新后才可以吗?每次 bundle 更新后,或者我可以更新 N 个 bundle ,然后刷新?

最佳答案

当您希望 OSGi 重新初始化包之间的连接时,需要进行 OSGi 刷新。通常在升级/降级某些 bundle 的版本后需要这样做。

您可能会发现也很有用:What do these OSGi commands really do?

or I can update N bundles and after that do refresh?

如果不深入细节,这就是您问题的答案。在实践中,我观察到一些框架没有很好地被OSGi采用,可能会导致刷新时ClassLoader内存泄漏,所以要小心。

关于java - osgi刷新应该什么时候进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43834431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com