`
alfred.w
  • 浏览: 90221 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

osgi实战,学习笔记

    博客分类:
  • java
阅读更多

很久就了解了一些OSGI.
今天翻到bluedavy的osgi实战。
1.osgi微核机制。不会因为bundle而影响系统稳定,使bundle的热插拔成为可能。
2.规范的可积累的模块,热插拔功能一直是大家期望的。

实例
1.Eclipse 3.0开始使用微核+系统插件+应用插件。
2.BMW应用控制系统

开源支持
1.Equinox
2.felix ,apache 的一级项目,oscar演变而来,目前还比较活跃

Begin.....
Bundle通过实现BundleActivator接口去控制其生命周期,在Activator中编写Bundle启动、停止时所需要进行的工作.

  1. 由于是基于equinox,下载目前稳定版eclipse-equinox-3.3.2。

建议以plugin的方式安装,而不要直接拷贝的eclipse的plugin.

   2.按照实战提到,运行,不过3.3.2没有发现org.eclipse.equinox.servlet.api 这个包,待续。。
   3.可以看到osgi>   input ss ,真神奇啊。。。
   4.建立自己的plugin project,就是一个bundle.
   5.建立一个validator interface.
   6.OSGI框架中通过Export-package元数据来标识Bundle对外提供的package.
  
7.对实例就不多介绍了。
   8.Core Framework

    8.osgi 的classloader。。
    9.about lifecycle layer,
      install,analyse,start,stop,uninstall.
      不要在activator 加载过多的东西。
      OSGI 通过bundle,bundelContext两个对象来实现对bundle的管理,通过监听机制监听bundle的状态。
    10.about service layer:
       Declarative Services提供了更好的服务注册、获取、监听等方式,使得其成为了OSGI R4中的重要角色,并由此替代了Service Layer。
    11.StartLevel Service
       Bundle的startLevel可以设置。
       StartLevel Service的适用场景:安全模式,Splash Screen,处理不稳定的Bundles,高优先级的Bundles.
    12.Declarative Services
       后面详细学习一下。
    13.Configuration Admin Service
       它用于动态的管理Bundle的配置的属性
    14.Event Admin Service
        OSGI提供了Event Admin Service以方便开发人员实现自定义的事件发布和事件处理,和Java的事件处理模型基本是一致的。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics