`

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.

分享到:
评论

相关推荐

    Eclipse插件开发学习笔记全篇+源码.rar

    本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法.zip

    这一部分通常会介绍插件开发的基本概念,包括Eclipse插件体系结构、OSGi框架以及如何创建第一个Eclipse插件项目。开发者会学习到Plugin.xml文件的重要性,它是描述插件元数据的关键,包括插件依赖、提供的服务、激活...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法

    4. **透视图(Perspectives)、视图(Views)、编辑器(Editors)和操作(Actions)**:这些是Eclipse插件开发中的基本元素,它们构成了用户界面的主要部分。学习如何创建和定制这些组件以提供特定功能。 5. **调试...

    Eclipse插件开发学习笔记(ch0-3)

    本学习笔记主要涵盖了Eclipse插件开发的基础知识,旨在帮助初学者掌握如何利用Eclipse平台进行插件开发。 首先,我们需要理解Eclipse平台的核心架构。【1第1章 Eclipse平台简介.pdf】会详细讲解,Eclipse基于OSGI...

    学习eclipse插件开发的原因

    1. **理解OSGi框架**:Eclipse基于OSGi框架,因此,开发者需要了解OSGi的基本概念,如模块化、服务注册与发现等,这是开发Eclipse插件的基础。 2. **创建插件项目**:在Eclipse中,可以通过“New -&gt; Plugin Project...

    eclipse插件开发

    本篇文章将深入探讨“Eclipse插件开发”的核心概念、流程以及相关资源。 一、Eclipse插件开发基础 Eclipse插件是基于OSGi(Open Service Gateway Initiative)框架构建的,OSGi确保了插件之间的模块化和可交互性。...

    eclipse插件

    在本篇文章中,我们将深入探讨Eclipse插件的概念、开发过程以及它们如何增强Eclipse的功能。 一、Eclipse插件体系结构 Eclipse的插件体系基于OSGi(Open Service Gateway Initiative)框架,它将应用程序划分为独立...

    Eclipse开发Groovy插件

    Eclipse插件是基于OSGi(Open Service Gateway Initiative)框架的模块化组件,它们通过扩展点(extension points)和贡献点(contribution points)与其他插件交互。开发Eclipse插件通常涉及到以下步骤: 1. **...

    生成 hadoop-eclipse-plugin-2.x 插件工具代码

    2. **Eclipse插件开发**:理解OSGI(Open Services Gateway Initiative)框架,它是Eclipse插件系统的基础,学习如何创建和配置Eclipse插件工程。 3. **Hadoop API**:熟悉Hadoop MapReduce的编程模型,包括Mapper...

    陈刚《Eclipse从入门到精通》第二版(第三篇19-23章源码)

    学习Eclipse插件开发,首先要理解OSGi(Open Service Gateway Initiative)框架,它是Eclipse的基础,允许插件之间动态发现和交互。 2. **插件项目创建**:在Eclipse中,可以通过"New -&gt; Plugin Project"来创建一个...

    eclipse none 3 part4

    综上所述,"eclipse none 3 part4"这个主题涵盖了许多Eclipse使用和开发的相关知识点,涉及到IDE的基础功能、插件扩展、项目管理等多个方面。具体含义需要结合实际上下文进一步解读,但这些内容足以帮助我们理解...

    OSGI r4规范

    本篇文章将对OSGi R4规范中的关键概念和技术进行深入分析,并探讨其在Eclipse架构设计中的应用。 #### 二、OSGi核心概念 ##### 1. 模块化系统 OSGi定义了一种模块化的系统架构,它允许应用程序被拆分成多个独立的...

    osgi hibernate

    8. **相关工具**:可能会提到一些辅助工具,如Apache Felix、Eclipse Equinox等OSGi实现,以及可能用到的构建工具(如Bnd或Maven的Bnd插件)来构建OSGi兼容的项目。 压缩包内的"OSGI 与Hibernate整合.docx"文件很...

    osgi felix plug in

    - **开发和调试OSGi应用通常需要使用特定的工具,如Eclipse PDE OSGi工具,Bndtools等,它们可以帮助构建、部署和调试bundle**。 - **对于Felix Plugin的开发,可能还需要了解如Maven或Gradle的构建工具,以及如何...

    Getting Started with OSGi_ Part1

    在这篇文章中,读者将学会如何搭建OSGi开发环境,并通过基本命令来管理OSGi框架,这是深入学习OSGi开发之前的必要准备工作。文章通过一个简单的例子,展示了OSGi模块化的基本概念和开发的便捷性。它也向读者传达了一...

    亲历基本OSGI实例,进入另番思维领域(转)----包括打包发布为可执行文件

    4. **打包**:使用如Eclipse的Bndtools或Tycho等工具,将所有bundle和启动配置打包成一个可执行的jar或bat文件,通常包含一个嵌入式的OSGi框架。 5. **运行**:执行打包后的可执行文件,OSGi框架会自动加载和启动...

    基于Equinox开发OSGi应用(一)

    接着,我们可以使用Equinox的启动脚本来运行OSGi框架,并将bundle部署进去。 **6. 运行与调试** 在Equinox环境中,我们可以使用命令行工具或图形化的Equinox控制台来启动框架,安装bundle,查看其状态(如活动、...

    To embed OSGi in servlet container

    它实现了Servlet容器与OSGi框架之间的交互,使得HTTP请求可以被路由到正确的OSGi服务。 3. **示例服务器配置**:`sample.server`可能包含一个示例的OSGi服务器配置,展示了如何在实际环境中设置OSGi环境,并将它与...

    eclipse体系结构图、项目组成图

    3. **插件系统(Plug-in System)**:Eclipse的插件系统是其灵魂,它基于OSGi(Open Services Gateway Initiative)框架。每个插件都是一个独立的可执行单元,可以提供特定功能,如代码编辑、调试、构建等。插件之间...

    很久之前的osgi整理

    4. **开发工具使用**:如何在Eclipse PDE中创建、调试和管理OSGi bundle,以及相关的配置文件如MANIFEST.MF的编写。 5. **实际应用案例**:邮政信息系统的具体场景,如何利用OSGi来构建可扩展、可维护的软件架构,...

Global site tag (gtag.js) - Google Analytics