`
freewxy
  • 浏览: 342673 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

OSGi的helloworld

    博客分类:
  • osgi
 
阅读更多

  该helloworld例子程序主要的功能是在启动和停止一个Bundle的时候来做些事情(输出信息)。

 

 

1、创建bundle工程

 

(1)在eclipse中创建一个Plug-in工程

 

(2)输入工程相关信息

 

(3)输入Bundle的相关元数据信息:

       Plug_in ID指的是Bundle的唯一标识,在实际项目中可以采用类似java的包名组织策略来保证标识的唯一性

       Plug-in Version  指的是Bundle的版本

       Plug-in Name 指的是BundleBundle的更具有意义的名称

       Plug-in Provider 指的是Bundle的提供商

       Execution Environment 指的是Bundle运行需要的环境

       剩下的关键就是Activitor部分了,填入自己的一个类名就可以了,在工程建立时Eclipse会自动建立这个类

 

(4)完成了Bundle工程的创建后,在Package视图中就可以看到如下图所示,表明工程创建成功:

 

 

2、完成Activator的代码

 

(1)打开默认的Activator.java

 这个类实现了BundleActivator接口,其中有两个空的方法--start和stop。start方法是在Bundle被启动的时候调用的,stop是在Bundle被停止时调用的,加入代码:

 HelloWorld的例子完成!

 

3、运行

 

(1)首先创建一个HelloWorld用的运行配置

(2)然后设置HelloWorldde 的Auto-Start属性为false

 

(3)点击Run,在Console中出现"osgi>"提示。表明成功启动一个OSGi应用。

        在osgi>提示符后面输入 ss,按回车键,如下图:

 可以看到,HelloWorld Bundle已经被安装并且完成了解析,但是 还没有启动。下面在osgi>提示符下输入 start 1,然后回车,然后再输入ss:

 看到HelloWorld启动了,通过ss可以看到HelloWorld Bundle的状态改变为ACTIVE,说明启动成功。并且在Activitor的start方法中加入的输出信息也正确的打印出来了。

  接着 输入 stop 1 ,并且再用ss命令查看bundle的状态:

 这个时候Bundle停止。

 

至此,一个OSGi Bundle顺利完成,第一个OSGi程序顺利运行!

 

 

      

  • 大小: 39.8 KB
  • 大小: 70 KB
  • 大小: 60.5 KB
  • 大小: 18.5 KB
  • 大小: 51.4 KB
  • 大小: 45.8 KB
  • 大小: 154.8 KB
  • 大小: 25.5 KB
  • 大小: 30.7 KB
  • 大小: 43.3 KB
  • 大小: 47.6 KB
0
3
分享到:
评论
2 楼 di1984HIT 2014-05-21  
学习了。谢谢
1 楼 greemranqq 2014-01-20  
这东西我也喜欢,准备把一些JVM 和 对象模型 理解透彻,专门花时间来弄弄。就是怕学了没地方用啊

相关推荐

    OSGi HelloWorld实例

    "OSGi HelloWorld实例"是一个典型的入门教程,旨在帮助初学者理解如何在OSGi环境中创建和运行一个简单的程序。 首先,我们需要了解OSGi的基本概念: 1. **模块(Bundle)**:在OSGi中,模块是软件的基本单元,它们...

    osgi helloworld

    "osgi helloworld"是一个入门级的示例,旨在帮助初学者理解OSGi的基本概念和工作原理。这个实例包括了两个部分:`server`和`client`,它们都是OSGi的bundle。 首先,我们来看`server` bundle。这个bundle通常扮演...

    IntelliJ IDEA OSGI helloworld

    **IntelliJ IDEA OSGI HelloWorld程序详解** OSGi(Open Service Gateway Initiative)是一个Java模块化系统和标准,它允许开发人员将应用程序分解为独立的模块,这些模块可以在运行时动态地安装、卸载和升级,而不...

    OSGi新建helloworld

    本教程将引导你通过创建一个简单的“Hello World”项目来了解OSGi的基础。 首先,你需要准备合适的开发环境。在这里,我们推荐使用Eclipse IDE的Java EE版本(例如eclipse-jee-kepler-R-win32,版本为4.3),并且...

    OSGi -- Helloworld 学习记录一

    在"OSGi -- Helloworld 学习记录一"这篇博文中,作者很可能是分享了他/她初次接触并实践OSGi时的经验,通过创建一个简单的HelloWorld示例来介绍这个技术的基础概念。 首先,我们需要理解OSGi的核心特性:模块化。在...

    OSGi开发环境建立和Hello World

    文章《OSGi开发环境建立和Hello World》详细介绍了如何搭建OSGi开发环境,并通过Hello World程序的开发实践来巩固前面入门篇的内容。 首先,需要了解Equinox是OSGi核心标准的一个完整实现,并且添加了一些额外的...

    osgi-blueprint-helloworld:一个使用OSGI蓝图容器规范的非常简单的HelloWorld示例

    osgi-blueprint-helloworld 概述 一个使用OSGI蓝图容器规范的非常简单的HelloWorld示例。 想要查询更多的信息: osgi-blueprint-helloworld-api 应用程序API osgi-blueprint-helloworld-server 发布服务以供...

    ‪第一个OSGi框架工程

    ### OSGi框架详解与首个HelloWorld项目实践 #### OSGi框架概述 OSGi(Open Service Gateway Initiative),作为一个强大的Java动态模块化平台,它的设计理念是实现真正意义上的模块化及动态化设计。这一理念体现在...

    osgi-basic-helloworld

    "osgi-basic-helloworld"是一个入门级别的OSGi项目,用于展示如何在Eclipse Mars集成开发环境中创建和运行一个简单的OSGi捆绑包。 首先,我们需要理解OSGi的核心概念: 1. **捆绑(Bundle)**:OSGi中的核心单元是...

    GSGI+Eclipse LUNA 配置+HelloWorld例子+Bundle依赖

    在本文中,我们将深入探讨如何使用Eclipse Luna版本配置OSGi环境,并通过一个HelloWorld示例来理解OSGi模块化系统的基本概念。首先,我们从标题和描述中了解到,这是一篇关于使用Eclipse Luna进行OSGi插件开发的教程...

    Intellij 13下OSGi的Maven例子

    至于压缩包中的"helloWorld"文件,它可能是示例中的一个基本模块,包含了简单的Hello World服务或客户端,用于演示OSGi的基本功能。这个模块可以作为理解OSGi、Maven和IntelliJ IDEA集成的起点。 总之,这个例子为...

    Equinox开发OSGi应用程序

    在弹出的窗口中输入项目名称为`osgi.test.helloworld`。 2. **配置项目设置**:在接下来的向导界面中,保持默认的项目路径不变。在目标平台的选择上,由于我们的目标是创建一个通用的OSGi bundle,因此选择`equinox...

    osgi_hello_world

    "osgi_hello_world"项目是学习和理解OSGi基础知识的一个简单示例,通常用于演示如何在OSGi环境中创建和运行一个基本的“Hello, World!”程序。 在Java世界中,OSGi提供了一种管理类加载器和依赖关系的方法,使得...

    Spring OSGI 快速入门中文教程

    - **样例项目**:"samples"文件夹可能包含各种示例项目,如HelloWorld服务和消费者。 - **构建与运行**:使用Maven或Gradle构建Bundle,然后在OSGi运行时环境中启动。 通过阅读《Spring OSGi 入门.pdf》和实践...

    OSGi-lib.rar

    "OSGi-Hello.rar"可能是一个简单的示例项目,类似于"Hello, World!"程序,用于向开发者介绍如何在OSGi环境中创建和部署一个基本的bundle。这个项目通常会包含必要的源代码、配置文件以及构建脚本,帮助初学者理解...

    基于Equinox开发OSGi应用(一)

    在本篇博文中,我们将探讨如何使用Equinox作为框架来开发OSGi应用程序。Equinox是Eclipse项目的一个组件,它提供了OSGi规范..."helloworld"项目是一个很好的起点,它能帮助我们理解OSGi的基本概念和Equinox的使用方法。

    学习SpringDM+OSGI的总结

    在介绍OSGI的基础知识后,接下来通过一个简单的HelloWorld示例来深入理解OSGI的工作原理。 1. **建立第一个Plug-in项目**:使用Eclipse自带的OSGI框架建立第一个插件项目。该插件项目会在控制台输出“HelloWorld”...

    Getting Started with OSGi_ Part2

    同时,这也表明了OSGi框架中bundle的持久性——即使重启了Equinox(一种OSGi框架的实现),之前安装的“HelloWorld”bundle仍然存在。 本教程的第二部分主要围绕以下知识点展开: 1. `BundleContext`的作用和重要...

Global site tag (gtag.js) - Google Analytics