我应该如何将OSGi控制台实现为Bundle?

时间:2012-02-22 08:54:54

标签: java console command osgi

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

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

我已经搜索了将OSGi控制台实现为捆绑包的方式,但我发现没有相关内容。

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

4 个答案:

答案 0 :(得分:1)

查看包org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider中的课程org.eclipse.osgi,了解命令的实施方式

答案 1 :(得分:1)

除了汤姆所说的,这个链接可能会派上用场: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存储库路径btw是“dev.eclipse.org”上的“/ cvsroot / rt”,模块“org.eclipse.equinox / framework / bundles / org.eclipse.osgi”。

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

答案 2 :(得分:1)

你可以使用org.eclipse.osgi.framework.internal.core.FrameworkCommandProvider类和org.eclipse.core.runtime.internal.adaptor.EclipseCommandProvider类,你会看到命令工具。每个Command都可以通过" (classobject = org.eclipse.osgi.framework.console.CommandProvider)"过滤。

答案 3 :(得分:0)

使用org.osgi.framework包中的OSGi Framework API。这是控制台本身为实现这些命令而调用的API。