今年开发新的项目,客户需要OSGI开发框架来开发项目。没办法,只要上网上找,但是找了很多,中文的资料很少,而且开发困难,在研究了BndTools这个插件后。终于解脱出来了。很方面。现在我做几个例子。
总共是4个bundle(一个是登录的接口Bundle,一个是mysql的实现的Bundle,一个是Oracle的Bundle,一个是启动运行的Bundle)。
1.安装BndTools插件,(见我的博客里面有专门的介绍)
2.新建一个BndTools OSGI 项目,如下图
3.取一个名字为:com.xyj.service,点击下一步。
4.创建一个接口,如下图
<!--[if !supportLists]-->5.<!--[endif]-->创建好后,配置提供给外面调用的包,可以进行拖拽,如下图
6.接口模块写好后,写接口实现,新建BndTools OSGI 项目名称为com.xyj.service.imp.mysql 选择第一个模板,如下图
7.引用接口库,通过搜索选择左下角的仓库,然后拖拽到右边 Build Path路径下。如下图
8.写实现类,在实现类上面加上 @Componen 注解,表示注册服务(注:简单太简单)如下图
9.在bnd中配置需要配置私有(没有配置就不会打包到jar---BndTools会自动打包的)如下图
10.在按照com.xyj.service.imp.mysql 模块创建 com.xyj.service.imp.oracle 模块
11.创建BndTools OSGI 运行的项目。名称为osgi_test 。点开,bnd.bnd文件,打开build选项,在左下角搜索 runtime包加入到BuildPath中,如下图
12.创建命令服务,如下图
13.创建一个运行文件run如下图,
14.点开,run.bndrun文件。加载需要运行的模块到Run Requirements
15.点击右上角的Run OSGI 启动OSGI
16.控制台结果如下:
17.例子完成
附件有例子
原文地址:http://q445862108.iteye.com/blog/2049068
相关推荐
- **开发和调试OSGi应用通常需要使用特定的工具,如Eclipse PDE OSGi工具,Bndtools等,它们可以帮助构建、部署和调试bundle**。 - **对于Felix Plugin的开发,可能还需要了解如Maven或Gradle的构建工具,以及如何...
最后,了解如何将这些Bundle打包成可部署的格式,如BND或ZIP文件,以便在不同的OSGi容器中使用,例如Apache Felix或Karaf。 通过这个基于Eclipse 3.5和JDK 1.6的OSGi示例,你可以深入了解OSGi的模块化概念、服务...
在"OSGI + Webservice 例子"中,新手可以学习如何将OSGI的模块化特性与Web服务的跨平台通信能力结合。下面将详细介绍这个例子中可能涉及的知识点: 1. **OSGI模块创建**:首先,你需要了解如何创建一个OSGI模块,这...
标题中的“两个OSGi的例子程序”表明我们将探讨的是与OSGi(Open Service Gateway Initiative)相关的编程实例。OSGi是一种Java模块化系统,它允许开发者创建、部署和管理可互操作的模块化应用程序。这个系统的核心...
接着,我们需要创建一个新的Maven项目,并在`pom.xml`中添加对OSGi相关的依赖,如Apache Felix或Equinox,这些是OSGi的实现框架。同时,还需要配置Maven的BND插件来生成Bundle的元数据。 在这个例子中,有三个部分...
Felix是一个遵循OSGi规范的轻量级、模块化的Service Oriented Runtime,由Apache软件基金会支持,它允许在运行时动态地安装和卸载OSGi模块。Felix是OSGi容器的一个实现,是Java开发者在进行模块化开发时的常用工具。...
从标签" Felix 小例子"我们可以推断,这个示例项目主要目的是为了展示如何在Felix环境下构建和管理OSGi服务。这样的例子通常会包括创建服务组件、发布和消费服务、处理依赖关系以及配置管理等关键步骤。 压缩包内的...
OSGi和Apache Felix 3.0是两种在Java领域内与模块化相关的重要技术。OSGi(Open Services Gateway Initiative)是一种Java编程环境,用于开发和运行模块化软件程序和中间件。Apache Felix是一个开源的OSGi实现,它...
标题"OSGI入门和例子"意味着我们将探讨OSGI的基本概念以及如何通过实例来学习和理解这个框架。下面,我们将深入讨论OSGI的关键知识点: 1. **模块系统**:OSGI的核心是模块化,它定义了一种基于Java导出和导入包的...
8. **开发工具与框架**:学习OSGI时,你可能会接触到像Bndtools这样的开发工具,以及Apache Aries、Declarative Services(DS)等框架,它们简化了OSGI应用的开发和配置过程。 综上所述,“OSGI书籍中例子程序”这...
《OSGi和Apache Felix 3.0初学者指南》是一本深入浅出介绍OSGi技术和Apache Felix实现的书籍。OSGi(Open Service Gateway Initiative)是一个Java模块化系统和标准,它为开发人员提供了构建可升级、可管理和可重用...
《OSGi and Apache Felix 3.0 Beginner's Guide》是一本专为初学者设计的书籍,深入浅出地介绍了OSGi(Open Service Gateway Initiative)框架和Apache Felix这一实现OSGi规范的开源项目。源代码包包含了书中各个...
下载并解压这个压缩包后,开发者可以通过导入到IDE(如Eclipse),运行在支持OSGi的运行时(如Equinox或Felix)上,来测试和调试这个例子。 这个整合过程对于理解和实践Spring在动态模块化系统中的应用非常有帮助。...
1. **运行示例** - 这里可能包含了一个预配置的OSGi运行时环境,比如Apache Felix或Equinox,用户可以直接运行查看模块化服务的交互。 2. **日志和输出** - 运行OsgiDemo后,可能会生成日志,这些日志可以帮助理解...
8. **felix或equinox实现**:OSGI运行时通常由特定的实现提供,如Apache Felix或Eclipse Equinox。例子可能会用到这些实现的特定API和工具。 通过这些例子,你可以逐步掌握OSGI的基础知识,并能够构建自己的模块化...
凡人的OSGi 这是我在 NA 2011,EU 2012和EU 2014上的“ OSGi的凡人”演示文稿的代码。 这是使用OSGi Declarative Services从头开始构建的最小的独立RESTful服务器,旨在证明OSGi不仅适用于超人大师。 该示例演示了...
- `步骤.txt`可能是运行示例的详细步骤指南,指导用户如何配置和启动OSGi环境以及部署和运行Bundle。 - `com`目录可能包含了额外的类文件或资源,与`com.javaworld.sample.helloworld.Activator.jar`中的Bundle相...
Simplify your OSGi development experience by learning about Felix iPOJO. A relentlessly practical beginner's guide that will walk you through making real-life OSGi applications while showing you the ...
- **开发实践**:书中提供了大量的示例和实战指导,帮助读者理解如何在真实环境中运用OSGi和Felix进行模块化软件设计和开发。 #### 4. **OSGi服务模型** - **服务注册**:每个bundle可以向OSGi框架注册自己的服务...