gpt4 book ai didi

java - 以编程方式启动/停止片段

转载 作者:行者123 更新时间:2023-12-02 04:44:34 25 4
gpt4 key购买 nike

我想在 OSGI 中实现功能切换,这意味着我想以编程方式启动和停止 bundle 。

对于插件来说,这非常简单:

Bundle plugin = //...
plugin.start();
plugin.stop();

对于片段来说,事情就没那么容易了。停止根本不起作用,如果我使用 uninstall()该片段永远消失了,我无法再次安装它,因为我不知道 BundleContext#installBundle(...) 的正确位置(查看 Bundle#getLocation() ,片段本身也没有)。

我面临的问题是我有一个片段为一些 Eclipse 扩展点做出贡献。仅停止主机插件不会删除这些服务(无论出于何种原因)。所以我需要手动停止该片段(或者可能清除那个愚蠢的 Eclipse 缓存,它不断地搞砸应用程序?)。

那么如何在运行时安装片段呢?

最佳答案

片段没有自己的生命周期。它们是其主机包生命周期的一部分。这意味着无法独立于主机来启动/停止它们。

如果您需要有关 bundle 、片段和生命周期的更多背景知识,我建议您阅读 OSGi 规范,可以从 http://osgi.org/ 下载该规范。网站。

关于java - 以编程方式启动/停止片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773056/

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