OSGI的大饼图

总结起来,OSGI的R4规范就是由Core Framework以及基于其上的各类Service组成的。Core Framework中主要包含四层部件,第一层就是运行时环境,这个就是JAVA的运行环境就OK了;第二层是Module层,Module其实就可以看成是插件吧,只不过说OSGI对于每个Module都有一个单独的类加载器来加载它;第三层就是典型的Module生命周期的管理,按照Module的生命周期进行状态的转换(哈哈,现在看到这种状态转换的例子,就开始想到状态模式了);第四层其实是服务层,为了解决Module之间的通信,那么设定了通过提供各自曝露自己的Service的方式。那么好,谁知道这些Service呢,OK,有了ServiceRegistration,那么这个对象知道所有的Service都从这里注册,那么就知道各个对象提供的Service了:),其实是一个ServiceLocator的例子,只需要知道它,然后声明自己需要那个服务,就从这个ServiceLocator来得到自己的服务就好了。
看Module的定义其实真的没有太多的看头,其实和plugin.xml(不管是Eclipse的还是Apollo的都是一样),只不过是换了个名称而已。多了ModuleActivator的声明,这个类就是用来控制Module的生命周期的,很有用。其它的描述除了有Module自身信息之外,还有依赖关系的描述;以及对外提供接口的描述。我们实用Provide-Service的方式来描述,其实是差不多的。
OSGI的类加载器有一套自己的定义。主要是系统类加载器,以及模块的类加载器,还有默认的启动类加载器(不是JVM的那个,而是OSGI里面定义的一个bootClassLoader)
有一张图详细画了这个类加载器的结构,和OSGI进行类加载的步骤,很清晰,很好。
关于LifeCycle,就不用再啰嗦了。只要知道状态的变化就OK了。
服务层实现了服务的注册,服务的获取,服务的监听,其实也是一套面向服务的体系结构,SOA嘛,这里也是简单的实现。

上周到这周的事情一直很多,公司要招人,我要参与出题和上机考试,希望能为公司引进一些好的新鲜血液吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值