今年开发新的项目,客户需要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