`

Eclipse插件开发之基础篇(4) OSGi框架

 
阅读更多

 1. 什么是OSGi框架

  OSGi(Open Service Gateway Initiative)框架是运行在JavaVM环境里的服务平台。框架提供的主要功能是对应用和组件的生命周期管理,系统可以在无需重启的情况下,远程操纵组件的安装、启动、停止。

  OSGi框架不仅用于Eclipse,从移动终端到车载系统,各个领域都在应用这个技术。

  2. OSGi和Eclipse的关系

  Eclipse采用OSGi框架来管理插件的安装、开始、停止和生命周期。在Eclipse中采用的OSGi框架称为Equinox。Equinox在Eclipse3.0时被使用,在3.3时,Equinox通过Equinox PDE,不仅可以用来开发插件,也可以用来制作其他OSGi框架上的组件。

  3. OSGi控制台

  在Eclipse提启动的时候加入-console参数,可以在Eclipse启动的同时创建一个OSGi框架控制台。

图4-1,4-2 启动OSGi控制台

                     

 

  构建于OSGi之上的各种应用被称为OSGi Bundle。OSGi控制台可以执行下表所示的操作。

表4-1 OSGi控制台的命令

命令 说明
start 开始Bundle
stop 停止Bundle
install 安装指定Bundle
uninstall 卸载指定Bundle
update 更新指定Bundle
active 列出被注册并且处于活动状态的Bundle
ss 列出所有被注册的Bundle

  我们可以看一下执行Eclipse的动作后,Bundle的状态变化。首先执行ss命令。在ss命令后加入一个参数[help],这样可以列出所有名称含有help的bundle。

代码1

1
2
3
4
5
6
7
8
9
10
id      State       Bundle
78      RESOLVED    org.eclipse.epp.mpc.help.ui_1.0.0.v20100611-0430
136     ACTIVE      org.eclipse.help_3.5.0.v20100524
137     <<LAZY>>    org.eclipse.help.appserver_3.1.400.v20100427
138     <<LAZY>>    org.eclipse.help.base_3.5.0.v201006080911
139     <<LAZY>>    org.eclipse.help.ui_3.5.0.v20100517
140     <<LAZY>>    org.eclipse.help.webapp_3.5.0.v20100507
178     <<LAZY>>    org.eclipse.mylyn.help.ui_3.4.0.v20100608-0100-e3x
196     RESOLVED    org.eclipse.mylyn.wikitext.help.ui_1.3.0.v20100608-0100-e3x
228     RESOLVED    org.eclipse.rap.help_1.3.0.20100615-1734

 

  请注意其中状态为lazy的行,这个状态说明Bundle还没有被加载入内存。在必要时将加载入内存。

  我们先打开Eclipse的帮助。然后再看一下Bundle的状态。

代码2

1
2
3
4
5
6
7
8
9
10
id      State       Bundle
78      RESOLVED    org.eclipse.epp.mpc.help.ui_1.0.0.v20100611-0430
136     ACTIVE      org.eclipse.help_3.5.0.v20100524
137     <<LAZY>>    org.eclipse.help.appserver_3.1.400.v20100427
138     ACTIVE      org.eclipse.help.base_3.5.0.v201006080911
139     ACTIVE      org.eclipse.help.ui_3.5.0.v20100517
140     <<LAZY>>    org.eclipse.help.webapp_3.5.0.v20100507
178     <<LAZY>>    org.eclipse.mylyn.help.ui_3.4.0.v20100608-0100-e3x
196     RESOLVED    org.eclipse.mylyn.wikitext.help.ui_1.3.0.v20100608-0100-e3x
228     RESOLVED    org.eclipse.rap.help_1.3.0.20100615-1734

  我们看到了org.eclipse.help.base_3.5.0.v201006080911和 org.eclipse.help.ui_3.5.0.v20100517两个Bundle从lazy状态变成了活动状态。

  从以上例子我们知道了,使用OSGi控制台可以确认Eclipse插件的活动状态,也可以用控制台来控制插件的开始和停止。

 转载请注明出处,http://www.cnblogs.com/liuzhuo.

分享到:
评论

相关推荐

    OSGI 实例eclipse插件开发

    OSGI 实例 eclipse 插件开发

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    eclipse插件开发实战

    介绍了eclipse插件开发基本理论、插件项目结构及开发步骤,最后再给出两个插件开发实例。结构如下: 1.介绍eclipse内核结构、扩展点机制; 2.介绍SWT的原理,控件设计及事件响应机制 3.介绍OSGi 4.介绍RCP(Rich ...

    osgi框架开发介绍

    osgi框架介绍,想了解osgi框架开发模式的可以下下来看看,里面包含几个pdf,比较基础和详细

    osgi插件化开发流程

    osgi插件化开发流程

    基于OSGi框架之开发环境搭建V_2.0

    基于OSGi框架之开发环境搭建基于OSGi框架之开发环境搭建

    漂亮的WPF界面框架(OSGi.NET插件)源码

    该界面框架是在ModernUI(http://mui.codeplex.com/)基础上开发的非常现代、漂亮的通用界面框架,通过简单的配置,您可以将自定义的功能注册到页面。它支持三级菜单、支持更换皮肤和字体调整。 使用的OSGi.NET插件 ...

    Eclipse RCP与Spring OSGi技术详解与最佳实践

    《Eclipse RCP与Spring OSGi:技术详解与最佳实践》共分3个部分:基础篇(第1-5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等...

    基于Eclipse开发OSGI的简单实例

    1.一篇實例教程,配图分部讲解 2.SpringDM实例实现OSGI源码 3.纯OSGI实现源码

    OSGI框架实战

    OSGI框架实战 一. 序..5 二. 体验OSGI..7 2.1. 需求实现..7 2.2. 技术角度..9 三. OSGI带来什么..11 四. OSGI案例..13 五. OSGI框架..15 5.1. Equinox..15 5.2. Oscar..15 5.3. Knopflerfish..15 六. 基于OSGI框架...

    四大OSGI框架最新技术对比分析

    四大OSGI框架Felix, Eqinox, Spring-DM, Knopflerfish最新技术对比分析

    OSGi.NET插件框架

    开放工厂向您提供了规范化的OSGi.NET插件框架和可复用的插件仓库,通过插件仓库来解决应用系统的持续集成、远程管理、自动更新、敏捷发布,无缝实现开发/QA/运维间无缝协作,并允许您将自定义的插件共享。...

    OSGi相关框架学习资料

    资源名称:OSGi相关框架学习资料资源目录:【】EclipseRCP与SpringOSGi技术详解与最佳实践【】osgi.core.javadoc-5.0.0【】OSGi_R4_Spec_zh_cn_origional【】OSGi原理与最佳实践【】OSGi原理与最佳实践的源码【】...

    OSGI.rar_OSGI eclipse_eclipse osgi_java OSGI_osgi

    这个是eclipse OSGI 实战,里面介绍了很多osgi的知识,还有一个进行osgi编程的例子,发出来给大家共享一下,希望有帮助

    OSGI进阶插件开发

    解答如何基于OSGi怎么来设计/实现/部署/测试项目和产品

    探索 OSGi 框架的组件运行机制

    探索 OSGi 框架的组件运行机制探索 OSGi 框架的组件运行机制

    eclipse 插件开发入门

    1.SWT/Jface技术 2.插件与OSGi 3.RCP技术 3.EMF技术 4.GEF技术 5.Eclipse开发示例 6.VE插件的使用

    OSGi.NET框架 Documentation

    本文档主要针对OSGi.NET模块化框架使用进行了描述 OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块...

    论文研究-OSGi框架下基于LDAP的异构遥感服务调用机制研究.pdf

    针对异构遥感算法服务集成方法在元数据和生命周期管理方面的不足,提出了在OSGi框架下基于LDAP的异构服务调用机制。该机制设计了一个异构服务代理,将异构服务封装为OSGi bundle服务,实现服务生命周期管理,并结合...

Global site tag (gtag.js) - Google Analytics