锁定老帖子 主题:OSGi和遗留系统
精华帖 (1) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-09
whb 写道 "OSGi的热加载只是理论上的"这句话我很认同。OSGi仅仅是给热加载提供了一个可能性。要实现这个可能需要自己做工作。例如:
你的web层的一个action,需要调用service层的一个服务实现bean的方法。如果想实现service bean的动态更新,action中需要加入响应service bean(OSGi服务)生命周期的代码。service停止时,action的代码就不能调用service了,需要进入等待状态,或者给用户一个“系统升级中”的提示。OSGi框架可以提供OSGi服务的生命周期的事件,我们需要编写代码来正确处理这些事件,才能让我们的系统拥有动态更新的特性。 使用spring dm framework可以使用到声明型OSGi服务,OSGi服务之间生命周期响应有了一个简单的实现。如果A服务依赖的OSGi服务B不可用,A将处于等待状态,直到B可用。但是这种响应方式不一定满足我们的要求。 而且目前bundle的卸载升级的工具很原始,基本是console级别的。同时更新大量的bundle会很痛苦。 还应该考虑一下有状态对象的卸载问题,这些状态是否需要保持,更新对象的时候是不是要把这些状态初始化,等等。热部署涉及的问题真的很多的,OSGi只是提供了可实现的规范,具体的问题还是要大家自己处理的。 |
|
返回顶楼 | |
发表时间:2009-06-09
spring dm server 要求jdk1.5以上。
|
|
返回顶楼 | |
发表时间:2009-06-10
太遗憾了,我还是先试试DA-Luncher
|
|
返回顶楼 | |