快速业务通道

探索Eclipse的OSGi控制台 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
态。建议您在普通的 Eclipse 实例中尝试此命令,将发现所有内容只不过是隐藏着的一个 OSGi 包。要获得普通 Eclipse 实例的 OSGi 控制台,只需用 -console 参数启动 Eclipse。

探索Eclipse的OSGi控制台 - 编程入门网

图 5. 首次启动

启动和停止包

在 OSGi 动态环境中,可以轻松地启动和停止包。要测试此操作,让我们使用简单的 Hello 包。只需用 stop 命令即可停止包,然后用 start 命令启动包。您应当会看到类似图 6 的结果。

探索Eclipse的OSGi控制台 - 编程入门网

图 6. 启动和停止包

探索Eclipse的OSGi控制台(3)

时间:2011-02-22 Chris Aniszczyk

添加、删除和更新包

OSGi 系统的另一个强大的方面是能够在运行的 OSGi 实例中添加、删除和更新包 —— 所有操作均无需重新启动 Java? 虚拟机。图 7 演示了包的安装和卸载。

探索Eclipse的OSGi控制台 - 编程入门网

图 7. 安装和卸载包

错误诊断

有时在包或插件尝试启动的初始化过程中会发生错误。OSGi 控制台提供了一个有用的命令 —— diag —— 可以帮助您调试与包初始化相关的问题。例如,让我们来检验一下图 8,在尝试启动 Hello 包时,获得一个错误。为了帮助诊断错误,对包运行 diag 命令并将看到运行时环境中缺少一个导入包。

探索Eclipse的OSGi控制台 - 编程入门网

图 8. 控制台错误诊断

有用的控制台命令摘要

表 1. 有用的控制台命令

命令 描述
start 启动给定了 ID 或符号名称的包
stop 停止给定了 ID 或符号名称的包
install 为当前实例添加一个给定了 URL 的包
uninstall 删除当前实例的具有给定 URL 的包
update 为当前实例更新给定 URL 的包
active 列出当前实例中所有活动的包
headers 列出具有给定 ID 或符号名称的包的标头
ss 列出在当前实例中注册的所有包的简短状态
services 列出给定了正确过滤器的服务
diag 在给定 ID 或符号名称的包上运行诊断程序

还有很多其他 OSGi 命令可用。这里列出的命令是我认为最有用的命令。要获得所有命令的列表,只需在控制台中键入 help。

探索Eclipse的OSGi控制台(4)

时间:2011-02-22 Chris Aniszczyk

扩展控制台

人们说 Eclipse 的绝妙之处就在于它的可扩展性。控制台是以类似方式扩展的。这是十分重要的,因为作为一名开发人员,您可能向用户提供某种服务。通过扩展控制台,您可以使高级用户或管理员能够调试关于服务的问题。

控制台不使用熟悉的扩展点,它具有一种简单的可扩展性机制。让我们通过几个示例来说明控制台的可扩展性。

uname,OSGi 样式

使用过 UNIX? 风格的系统的人都会熟悉 uname 命令,该命令将打印关于运行的操作系统的名称、版本和其他信息。在 OSGi 上下文中,有各种不同风格的 UNIX 的方法就可以有 OSGi 控制台的不同实现(例如 Apache Felix、Knopflerfish 等等)。

扩展 OSGi 控制台的最重要部分是 CommandProvider 接口。希望扩展控制台的客户机必须实现此接口。实现此接口后,下一步是启动带有 "_" 的方法名称。这些方法将表示控制台中可用的命令。就这么简单!参见清单 1 中的示例。

清单 1. OSGi uname

public class Activator implements BundleActivator, CommandProvider { private BundleContext context; public void start(BundleContext context) throws

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号