想法中osgi的开发应用指南详解

  

  

最近一直在接触osgi的开发任务,了解到本部门都在使用想法作为开发工具,而只有本小组还在使用Eclipse。正好赶上版本发布之后的空闲期,因此想要将osgi插件的开发从Eclipse转至主意。搜了不少资料,但是均不够详细,经过几天的仔细摸索,终于成功移植了自己的项目,在此也分享给大家在想法上开发osgi,对于思想的使用操作过程。

  


  

  

OSGI的全称是开放服务网关倡议,直译就是开放服务网关。最新的OSGI定义是动态Java模块系统,即面向Java的动态模块化系统。
  

  

在传统Web开发中,我们为了进行功能的分离,经常会进行模块划分,比如基础信息模块交由A和B做,接口信息模块交由C和D做。最终,再汇集到一起,组成一个完整的项目。在这整一个流程中,我们做到的只是逻辑上的解耦,最终这些模块还是运行于同一服务器上,共享同一个类路径。这时就会出现一个局限性问题,比如现在接口规范改了,我只想停掉接口信息模块,而基础信息模块仍能正常运行,这显然是无法实现的。而使用OSGI可以完美解决这个问题,OSGI是基于模块(包)驱动的,每个模块都有属于自己的类路径和类加载器,模块之间通过服务注册和发现进行关联,每个模块有着自己独立的生命周期,我们可以动态地对模块进行加载,卸载,更新。

  

  

想法自带OSGI开发工具包,因此无需像Eclipse一样下载插件开发,直接使用。
  众所周知,想法中的项目相当于Eclipse中的工作区,想法中的模块相当于Eclipse中的项目,因此在想法中新建项目,只是相当于Eclipse中建立工作区而已。

  

<强>设置环境配置
  

  

中想法新建工程,不像Eclipse中那样,在每次新建项目时选择框架,而是在全局设置中先设置好框架工作环境。本项目利用Equinor作为OSGI框架,附赠一个下载地址http://download.eclipse.org/equinox/
  

  

下载解压完成后,点击文件→设置,在该界面将框架添加至想法中
  

  

想法中osgi的开发应用指南详解”>,<br/>
  </p>
  <p>添加完毕后,在上面的OSGI标签中,便可以选择相应的框架,该界面设置如下图<br/>
  </p>
  <p> <img src=

  

<强>模块选项卡
  

  

模块中主要需要设置的是选的依赖项卡,该部分相当于Eclipse中的类路径路径设置,同时集成了osgi中的导入与导出。
  

  

想法中osgi的开发应用指南详解

  

<强>图书馆选项卡
  

  

顾名思义,可以自定义依赖包库,如果在该部分设置的依赖包库,只能用于该项目中、下面还有另一个全球图书馆,在那个里面定义的依赖包库,可用于所有的项目。该部分就看大家自己的取舍去使用了。

想法中osgi的开发应用指南详解