gemini-blueprint 学习笔记

本文详细介绍了Gemini Blueprint 1.0.0中出现的bug,包括构造函数空指针异常及xml配置解析。探讨了SpringBaseTest类中logger属性在贡献给IBM后未被修改的问题,以及包名修改导致的继承问题。同时提供了关于xml配置、availability参数、timeout配置以及integrationtest注意事项的指导。

  1. gemini-blueprint-1.0.0 的bug
    • org.eclipse.gemini.blueprint.io.OsgiBundleResourcePatternResolver在构造函数空指针的异常,情景模拟参考另一篇博文http://blog.youkuaiyun.com/yangjun2/article/details/6805014
    • Spring Base Test类中的logger属性 protected的,在贡献给ibm后,并没有修改,gemini-blueprint包名修改了,无法继承.
  2. xml的配置
    • <osgi:reference id="OsgiService" interface="serviceinterface"
      availability="optional" timeout="5000"/> availability="optional"相当cardinality="0..1" availability="mandatory"相当于cardinality="1..n" timeout 配置RetryTemplate中的timeout的时间,即尝试等待失败的引用的 Service的时间 ,单位毫秒.
  1. integration test 注意事项
  • gemini-blueprint-test-1.0.0.RELEASE.jar
gemini-blueprint-test-1.0.0.RELEASE.jar\org\eclipse\gemini\blueprint\test\internal\boot-bundles.properties
指定依赖的各种包的版本,使用的是LocalFileSystemMavenRepository,所以要先要用maven将需要的包download到local

  • maven 的加入,通过修改pom.xml将需要引入的包download到本地。

  • 在project目录下新建target\test-classes目录,用于打包生成的测试代码到bundlefile。

  • 测试框架会建立eclipse_config\org.eclipse.osgi\bundles用于将jar包copy到bundlfile(jar包),然后为Test类新建一个TestBundle-testSimple-类名的bundle

  • 缺省支持junit3.8

  • 使用到了asm类,但是缺省先加载jre/lib/ext目录下的包,先检查是否有asm的类先加载,例如btrace时引入的包dcevm.jar就包含了asm包,比2.2.3版本高。
否则调用reader.accept()方法时报NoSuchMethod的错误.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值