osgi学习过程

  • 优点、功能
    • 热部署
    • 模块化,组件化,且有生命周期(和监听)
    • 网状加载,更细粒度的控制各个类的访问权限
    • 考虑了足够成熟,当卸载或停止的过程时请求,3种处理方式。
    • 实现了依赖注入。
  • 不足
    • 没有实现ioc,也就是如果我对单例的对象进行了缓存,那么将破坏依赖注入。
    • 依赖注入,只能通过配置文件,无法动态的实现。
  • 缺点
    • 网状加载,导致将出现大量的jar、工程体积大、大量*.mf文件的编写
    • 网状加载,每一个节点都需要一个类加载器管理,类加载器的冗余,额外增加负担。
    • 网状加载真的有必要吗?
    • 太重了。
  • 核心实现
    • 通过*.mf,形成注册表,有效的解决了依赖和权限的管理。
    • 将jar单独打包,有效的解决资源加载(配置文件)、类装载和类卸载的问题,更有效的管理了jar的生命周期。
    • 服务不存在该 怎么办 ?因此我们只有几个选择:
    1. 产生错误,例如返回null或抛出异常。
    2. 等待。
    3. 首先不要在那里。
  • 参考资料
    • 教程档案
    • OSGi入门与实践全攻略
    • 深入理解OSGi:Equinox原理、应用与最佳实践

你可能感兴趣的:(osgi学习过程)