【问题标题】:How should I implement the OSGi console into a Bundle?我应该如何将 OSGi 控制台实现到 Bundle 中?
【发布时间】:2012-03-12 14:20:32
【问题描述】:

我是 OSGi 的新手,我正在尝试将 osgi 控制台实现为一个包。

我需要管理我的捆绑包中的其他捆绑包/服务。所以我需要能够至少在其他已经安装或未安装的服务上使用“ss”、“install”和“unistall”命令。所有这些命令都必须在没有人工交互的情况下进行管理,因此我必须将其实现到我的应用程序中。 该程序将安装在 uPC 上,无需持续监控。

我搜索了将 OSGi 控制台实现为捆绑包的方法,但找不到任何相关内容。

我正在使用 OSGi 3.7.1 并尝试依赖 Equinox。

【问题讨论】:

    标签: java console command osgi


    【解决方案1】:

    查看 bundle org.eclipse.osgi 中的 org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider 类,了解命令是如何实现的

    【讨论】:

    • 非常感谢。我会尽快尝试的! :)
    【解决方案2】:

    除了汤姆所说的,这个链接可能会派上用场:http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.equinox/framework/bundles/org.eclipse.osgi/console/src/org/eclipse/osgi/framework/internal/core/FrameworkCommandProvider.java?view=markup&root=RT_Project

    我记得上次我需要研究这门课时,我花了很长时间才找到它。它可能不是最新版本(我没有检查这个),但它应该足以让你快速开始。顺便说一句,CVS 存储库路径是“dev.eclipse.org”上的“/cvsroot/rt”,模块“org.eclipse.equinox/framework/bundles/org.eclipse.osgi”。

    很抱歉没有将此作为评论添加到 Toms 的答案中,但我似乎没有这样做的权限。

    【讨论】:

      【解决方案3】:

      使用来自org.osgi.framework 包的 OSGi 框架 API。这是控制台本身为了实现这些命令而调用的 API。

      【讨论】:

        【解决方案4】:

        你可以查看 org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider 类和 org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider 类,你会看到命令的实现。并且每个命令都可以通过具有“(classobject = org.eclipse.osgi.framework.console.CommandProvider)”过滤器的服务访问。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-07-14
          • 2012-03-04
          • 1970-01-01
          • 2014-02-11
          • 2014-11-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多