arm-linux

http://armboard.taobao.com/

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

                       SpringOSGINoDM项目的插件说明

 

           

 

 

 

本文是开源项目SpringOSGINoDM的插件说明。

补充《开源项目SpringOSGINoDMOSGI环境下使用Spring的唯一完美解决方案》一文未尽之处。

SpringOSGINoDM项目的地址是:

http://code.google.com/p/springosginodm/

SpringOSGINoDM项目的例子的地址是

http://code.google.com/p/springosginodmsample

     项目中文论坛

http://groups.google.com/group/springosginodm?hl=zh-CN&lnk=gcamv

 

 

 

 

 

插件说明

   

1,我选择使用Slf4JLog4JApacheCommonLog这个插件,封装了ApacheCommon Loglog4j,Slf4j。并且输出包org.apache.commons.logging

    其他所有OSGI插件都依赖这个插件进行日志配置。其他插件只需要提供一个log4j的配置文件。并且在代码中使用标准的ApacheCommon Log API获得Log即可。

 

你也可以选择直接在自己插件中载入这些logjar包的方式实现log。但请记住一定要使用Slf4j而不是ApacheCommon Logjar包。

ApacheCommon Log实现,在OSGI环境下无法工作。

 

2com.google.code.p.springosginodm插件中,我使用了Spring2.5.4Spring-OSGI1.1jar包。但我只输出了以下几个jar包:

com.google.code.p.springosginodm.osgi.context,

com.google.code.p.springosginodm.osgi.service.importer,

org.springframework.osgi.context,

org.springframework.osgi.service.exporter.support

这些是springosginodm项目和Spring-OSGI项目中的几个Package

没有输出Spring本身的jar包。

 

因此,如果你依赖springosginodm插件,那么你自己还需要在自己的插件中提供Spring自身的jar包。但不需要提供Spring-OSGIjar包。

   

我这样做的原因是,不想使springosginodm替代Spring。给你完全的选择Spring版本的自由。

你的插件还需要Springjar包的原因是,如果你使用Spring的配置文件,那么你必须提供Springjar包,否则这些文件就无法被Spring使用。

另外,你使用的springosginodm项目的代码中会间接用到Spring的代码。

 

当然,你也可以选择在springosginodm插件中把Spring的所有package输出。这样你的OSGI插件只需要依赖springosginodm插件,就可以不再载入Springjar包。这有利于节约硬盘空间和运行时的内存占用。

 

 

 

 

 

posted on 2008-08-21 10:30  arm-linux  阅读(362)  评论(0编辑  收藏  举报