OSGI Felix BndTools例子(一步一步指导)

    今年开发新的项目,客户需要OSGI开发框架来开发项目。没办法,只要上网上找,但是找了很多,中文的资料很少,而且开发困难,在研究了BndTools这个插件后。终于解脱出来了。很方面。现在我做几个例子。

总共是4个bundle(一个是登录的接口Bundle,一个是mysql的实现的Bundle,一个是Oracle的Bundle,一个是启动运行的Bundle)。

   1.安装BndTools插件,(见我的博客里面有专门的介绍)

 

   2.新建一个BndTools OSGI 项目,如下图

 OSGI Felix BndTools例子(一步一步指导)_第1张图片

 

 

    3.取一个名字为:com.xyj.service,点击下一步。

 

 OSGI Felix BndTools例子(一步一步指导)_第2张图片

 

 

4.创建一个接口,如下图

 OSGI Felix BndTools例子(一步一步指导)_第3张图片

 

<!--[if !supportLists]-->5.<!--[endif]-->创建好后,配置提供给外面调用的包,可以进行拖拽,如下图

 OSGI Felix BndTools例子(一步一步指导)_第4张图片

 

6.接口模块写好后,写接口实现,新建BndTools OSGI 项目名称为com.xyj.service.imp.mysql 选择第一个模板,如下图

 OSGI Felix BndTools例子(一步一步指导)_第5张图片

 

 

7.引用接口库,通过搜索选择左下角的仓库,然后拖拽到右边 Build Path路径下。如下图

 OSGI Felix BndTools例子(一步一步指导)_第6张图片

 

8.写实现类,在实现类上面加上 @Componen  注解,表示注册服务(注:简单太简单)如下图

 OSGI Felix BndTools例子(一步一步指导)_第7张图片

9.在bnd中配置需要配置私有(没有配置就不会打包到jar---BndTools会自动打包的)如下图

OSGI Felix BndTools例子(一步一步指导)_第8张图片

 

10.在按照com.xyj.service.imp.mysql 模块创建  com.xyj.service.imp.oracle 模块

 

11.创建BndTools OSGI 运行的项目。名称为osgi_test  。点开,bnd.bnd文件,打开build选项,在左下角搜索 runtime包加入到BuildPath中,如下图

 OSGI Felix BndTools例子(一步一步指导)_第9张图片

12.创建命令服务,如下图

 OSGI Felix BndTools例子(一步一步指导)_第10张图片

13.创建一个运行文件run如下图,

 OSGI Felix BndTools例子(一步一步指导)_第11张图片

14.点开,run.bndrun文件。加载需要运行的模块到Run Requirements 

 OSGI Felix BndTools例子(一步一步指导)_第12张图片

15.点击右上角的Run OSGI 启动OSGI

 

16.控制台结果如下:

 OSGI Felix BndTools例子(一步一步指导)_第13张图片

17.例子完成

 附件有例子

 原文地址:http://q445862108.iteye.com/blog/2049068

 

 

 

你可能感兴趣的:(eclipse,框架,osgi,felix,bndtools)