ring-OSGi集成项目Milestone1发布
文章作者 100test 发表时间 2007:11:28 12:50:55
来源 100Test.Com百考试题网
Spring - OSGi项目的第一个里程碑版本近期刚刚发布,该项目提供了将Spring应用部署到OSGi环境的支持。由于OSGi的重点在于模块的动态化管理,这给Spring的集成团队带来了很多特殊的挑战。
采用OSGi的最大挑战之一就是处理其动态本质。在应用程序中,服务(以简单对象实例形式存在)加进来移出去,而你的应用必须对其进行处理。解决方法并不是很直截了当的,需要根据不同的实际情况而采用不同的处理方式,并且如同异常处理和事务处理一样,需要应用级别的全局作用域。在模块化的过程中,类装载方式的限制会显得更加突出,而这种限制与AOP的合并则会带来更大的麻烦:开发人员不得不另觅蹊径,但这样一来,就会把OSGi带来的好处扔的一干二净。这只是我们在Spring-OSGi里面正在处理的事情中的很少一部分而已,在最终版本中,肯定会与OSGi平滑相接。
这个发布版的部分核心特性包括:
OSGi应用上下文(OSGi Application Context)
尽管OSGi采用的是基于bundle——也就是独立模块——的架构,但Spring-OSGi增加了应用级别的上下文,这样开发人员就可以通过它对存放整个应用的OSGi上下文进行访问。
对资源的抽象(Resource Abstraction)
OSGi向classpath中加入了一个抽象层,在该层中有一个URL scheme,它会根据实现的不同而变化。Spring-OSGi对这个scheme进行了封装,并提供了一个很轻便的查询接口。
动态服务支持(Dynamic Service Support)
通过XML配置,把任何对象转换成OSGi服务都是轻而易举的事情。
集成测试(Integration Testing)
Spring-OSGi在JUnit的基础上,添加了一个用于测试的微架构,这样一来,从IDE中运行需要在容器中执行的测试就会更加简单了。