我对OSGI的理解

要充分理解OSGI带来的优质体验,就需要对比OSGI与传统架构模式的异同。

1. 传统的系统,
        我以前接触过的很多系统都有用户验证模块。我最近接触的hudson也是。它可以让我选择是用LDAP来验证,还是用自带的小数据库系统来进行验证。也就是说在传统的应用中,我想替换一个正在使用的模块并不是太难。在运行时,基于同一个接口,选择不同的Impl为我做事情。这本身就是接口编程能为我们做的最基本的事情。
      现在我要再加一种全新的验证方式,这种验证方式以前的系统还没有相应的实现。
      有人马上就给我答案了,这并不是太难。 基于接口,再开发一个模块,打成一个jar包,应用程序相应的目录里面一扔,重启一下, Ok啦。呵呵,如果不重启呢? 这下麻烦来了,不重启,应用程序的上下文里面都没有布署的那些类,又如何做到不重启。
      还是有人有答案,为什么要重启,仅仅是因为应用程序启动时没有加载到你新增的类嘛,那就实现一个自定义的Class loader, 专门负责扫描某个目录中的jar包,一有增删改就再扫一下。这样的话,随时加一种验证方式也就实现了。是的,这个答案与OSGI的思想很吻合。终于有人怒了,说来说去OSGI能做的传统方式也一样能做嘛,要它干嘛。不急着拍砖。接着看.

2. OSGI
        如果用传统的方式来实现,就需要熟悉和用到Java底层特性,在具体实现过程中也会遇到不小的难度。OSGI提供优雅的方式来实现Java 软件中的热拔插功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值