9

使用 Felix / Equinox,以下在幕后做了什么?

osgi:install
osgi:refresh
osgi:resolve
osgi:restart
osgi:update

某处是否有状态机图或更简洁的文档?

4

2 回答 2

20

最好的文档是OSGi Core Specification。下面的章节和页码参考规范的 4.3 版(2011 年 4 月)。

osgi:install意味着从文件或流中安装一个包,它映射到BundleContext.installBundleAPI 中的方法。请参阅第 90 页的第 4.4.3 节。

osgi:refresh执行“刷新包”操作,允许在安装或更新一组捆绑包后重新连接导出/导入。例如,当前连接到包的特定导出器的包可能会重新连接到导出相同包的新安装包。请参见第 148 页第 7.6.1 节。

osgi:resolve类似于刷新,但它只连接当前处于 INSTALLED 状态的包。即,它不会重新布线属于已经处于 RESOLVED 状态的束的现有电线。

osgi:restart停止并重新启动特定的捆绑包。这不会导致更新包实现,它只是停止和启动。请参见第 91 页第 4.4.5 节和第 95 页第 4.4.7 节。

osgi:update请求更新单个包(即从其原始位置重新加载)。这可能涉及停止、重新解析和启动捆绑包,具体取决于更新前的状态。请参见第 95 页第 4.4.9 节。

所有 OSGi 捆绑包状态的状态图在第 4.4.2 节(图 4.4)第 90 页。

于 2011-12-07T08:07:09.773 回答
2

有关 Felix shell 命令的详细信息,您可以查看它们的源代码,网址为http://svn.apache.org/repos/asf/felix/trunk/shell/src/main/java/org/apache /felix/shell/impl/ - 其中大部分都很简短。

于 2011-12-07T14:25:53.050 回答