当前位置: 首页 > 知识库问答 >
问题:

如何通过程序监视和管理(启动、停止、安装、卸载、更新)OSGi包

邹华皓
2023-03-14

我正在做一个项目,需要在一个基于OSGi的应用程序中使用预编程的指令来监视和管理(启动、停止、安装、卸载、更新)OSGi包,类似于java反射,OSGi应用程序可以通过监视自身及其上下文来对自身进行反思,它可以更新或删除某个包,或者可以添加(安装和启动)一个新的包。

例如,有一个使用OSGi捆绑开发的聊天应用程序。为了给它添加自我管理特性,需要有一种机制来自主地监控和管理(安装/卸载、启动/停止、更新)OSGi包(不需要人为干预或尽可能少的人为参与)。知道这是怎么实现的吗?

附注。我正在使用OSGi Equinox框架。

问候。

共有1个答案

殳经略
2023-03-14

OSGi框架已经包含了这样一种机制,并使用最基本的OSGi接口为您提供了对bundles生命周期的完全控制。

如果您想从OSGi捆绑包内部控制它,让我们称之为管理代理捆绑包,您可以使用此捆绑包的BundleContext来:

org.osgi.framework.bundleContext

希望这有帮助:)

 类似资料:
  • 对不起,老问题。我已经澄清了。我如何用我可怜的线程类开始停止线程? 编辑:它在循环中,我想在代码开头再次重新启动它。我如何启动停止重新启动? 我的班级: 在主代码中,我希望:

  • 注意Workerman启动停止等命令都是在命令行中完成的。 要启动Workerman,首先需要有一个启动入口文件,里面定义了服务监听的端口及协议。可以参考入门指引—简单开发实例部分 这里以workerman-chat为例,它的启动入口为start.php。 启动 以debug(调试)方式启动 php start.php start 以daemon(守护进程)方式启动 php start.php s

  • 突然,我的作曲家停止了创作。 无论何时运行,它都不会在此之后继续运行: 使用包信息加载composer存储库更新依赖项(包括需要开发) 我尝试了另一个Laravel项目,该项目的作曲家正在工作 我清除了缓存,并运行了这个命令 似乎什么也没发生。我将移动到另一个文件夹,从当前项目中删除并再次运行命令,但没有成功 这是我的文件:

  • 我无法停止。它的样式是。如何启动和停止圆形的小型?

  • 问题内容: 我很难找到一种方法来启动,停止和重新启动Java中的线程。 具体来说,我在中有一个类Task(当前实现)。我的主应用程序需要能够在线程上启动此任务,在需要时停止(杀死)该线程,有时还可以杀死并重新启动该线程… 我的第一次尝试是与,但我似乎找不到办法重新启动任务。当我使用任何将来的呼叫失败时,因为是“关机” … 那么,我该怎么做呢? 问题答案: 一旦线程停止,你将无法重新启动它。但是,没

  • 你怎么卸载鲍尔?我指的是软件包管理器,而不是(我已经卸载的)软件包。