首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

OSGi应用小结

2012-10-31 
OSGi使用小结最近使用OSGi来解决一个集成测试的问题. 感觉还是走了不少弯路, 主要是OSGi的一些习惯思维跟

OSGi使用小结
最近使用OSGi来解决一个集成测试的问题. 感觉还是走了不少弯路, 主要是OSGi的一些习惯思维跟以前的开发思想有一定的区别(主要集中在ClassLoader), 另外一点就是当出现一些莫名其妙的问题, 一般很难知道原因, 需要从出错信息的蛛丝马迹中根据经验进行推理(汗,程序员看推理小说对解决问题很有帮助啊).

本人使用的eclipse版本是3.5.x, 只用到了equinox框架, 使用了里面最简单的功能. 什么spring-dm之类的仅限于hellworld.

org.eclipse.equinox.ds_1.1.1.R35x_v20090806 eclipse是自带的, 不用再下载了
还需要加入org.eclipse.equinox.util_1.0.100.v20090520-1800这个bundle

一个完整的servlet container(jetty)的bundle列表:

这个主要是bundle之间的存在相同的类,导致在各自的ClassLoader找不到导致的. 或者有冲突, 比如在bundleA依赖bundleB, 而且二者同时存在classC, classD, 而且存在classD d = classC.method(), 那么在引用的时候如果存在这样的使用方式: bundleA的classD d = bundleB的classC.method() 那么就会存在上面的问题, 解决办法就是相同的class只存在一份, 然后依赖的时候通过import package的方式来加以引用即可.

热点排行