之前看了一些Osgi的文章和例子,只是大概了解了其作用和用法。今天项目中出现的一个问题,让我又一次切实地体会到了OSGI的好处(当然只是一部分好处)。
之前的体会:在公司的项目中因为模块划分问题,一个项目往往会有许多小的应用程序(打包成多个ear)。应用程序间的调用不是用webservice,就是用ejb的远程调用。其实大部分的应用程序都是装在同一台Server(weblogic)上,但是通过远程调用,performance影响十分严重。个人觉得OSGI是解决这个问题的有效方法。
今天遇到的问题(可能很多人都遇到过):公司的一个老产品,几年前就开始开发了,一直使用的是spring1.0的版本。现在我们要为产品增加新的功能,需要用到CXF,可是CXF必须用spring2.0。这样问题就来了,因为classloader的问题,如果要用如果要用CXF,那么整个产品都要升级spring的版本,但是发现spring1里annotation的配置和spring2有些不同,如果要升级到spring2就需要对之前的老代码/配置进行修改。虽然可行,但是老板们还是觉得风险很大......
其实问题就在于, 现在我们在同一个ear包里,不同的代码不能使用不同的spring版本。但是OSGI确能够解决这个问题。
OSGI将不同的小模块放到不同的bundle里,每个bundle有自己的classloader,bundle可以引用指定版本的其他bundle,所以只要将我们CXF部分做成一个bundle A,其他部分做成bundle B,那么两个bundle就可以使用不同的spring版本了。
分享到:
相关推荐
osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍osgi介绍
资源名称:OSGI原理与最佳实践内容简介:国内第一本OSGi图书OSGi国内推广者林昊多年经验的结晶涵盖OSGi从入门到深入的知识体系引领OSGi国内研究和普及本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入...
利用R-OSGi实现分布式OSGi应用 本文通过介绍传统 OSGi 应用程序及 R-OSGi 的实现方式入手,阐述了 R-OSGi 对于 OSGi 规范的实现方式。然后通过一个简单的功能实现由浅入深地讲述传统 OSGi 和 R-OSGi 上的两种不同...
网上收集的OSGI资料. 包括: OSGi原理与最佳实践(精选版).pdf OSGI实战和源码.rar osgi进阶.pdf Introduce.OSGi.ppt OSGi.in.action.ppt r4.cmpn.pdf r4.core.pdf r4.enterprise.pdf
讲OSGI应用的讲OSGI应用的讲OSGI应用的讲OSGI应用的讲OSGI应用的
OSGI 实例 eclipse 插件开发
文内难免有些错误,还请大家不吝指正,也希望本文能作为国内 OSGI 的抛砖之作,引出更多的关于 OSGI的 Opendoc,在我的 blog 上也会不断的编写关于自己在 OSGI、Equinox 上的实战的体会和心得,欢迎大家多多交流。
OSGI 入门资料PDF,包括OSGI实战、OSGI进阶、OSGI 入门和整合Spring、OSGI原理与最佳实践
《 OSGi实战》是学习OSGi的全面指导,利用与架构和开发人员相关的示例清楚地讲解OSGi概念,同时探讨了很多实践场景和技术,阐述了开发人员有多需要OSGi,怎么将OSGi嵌入其他容器中,将遗留系统移入OSGi的最佳实践,...
OSGi的入门教程,帮助初学者快速了解OSGi的定义、用途及组成。
osgi,林昊写的osgi实战和进阶,学习osgi的好东西,入门的首选。
OSGi开发文档和实践指南,描述了OSGI的开发流程
OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料 OSGi学习不错的材料
OSGi的入门资料,网上找的,初探OSGi 的全文
介绍OSGI组件编程,详细介绍用eclipse和Equinox开发OSGI程序
本书基于作者多年使用OSGi的经验而编写,涵盖了OSGi从入门到深入的知识体系,从OSGi的简介开题,介绍OSGi的作用及基本概念;其后进入OSGi实战,结合实例讲解如何基于OSGi框架编写模块化、动态化的各种Java应用;最后...
osgi资料
OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文OSGi 中文版 中文 OSGi中文
本文档主要针对OSGi.NET模块化框架使用进行了描述 OSGi.NET框架是一个参照了OSGi规范的模块化管理框架。框架为应用程序(组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次: 1.运行环境 2.模块...
OSGI相关技术,对学习OSGI的朋友很有帮助啊