深入理解osgi Equinox 原理,应用与最佳实践 第2章 模块层规范与原理

2.1 OSGi 规范概要

2.2 Bundle

       从Jar文件格式规范基础上扩展而来的

2.3 描述元数据 

      bundle的元数据信息定义在/META-INF/MANIFEST.MF文件之中,OSGi规范中明确要求实现能够正确识别那些被预订已过的标记

   2.3.1 预定义标记

    

    1. 根据类名过滤

    2.根据版本过滤

    3. 根据提供者过滤

    4.根据属性过滤

    5.可选导入与动态导入

    6.导出package的依赖限制

    7. 导入整个Bundle

     

2.5.2 Bundle类加载器

      OSGi框架为每一个Bundle生成了一个Bundle类加载器的实例,这些类加载器负责处理其他Bundle委派的加载请求

      根据元数据信息确定,这些加载请求的类是否与该Bundle的导出列表符合,然后对合法的加载请求进行响应,返回该Bundle的类给其他Bundle使用

Bundle A被附加,所以能搜索到fragment.jar

    Bundle类加载器收到类加载请求时,会优先委托给导入包的其他Bundle类加载器处理,只有其他导入包的Bundle类加载器都无法处理时,才会尝试自己处理

Bundle B 导入了Bundle A,所以就只使用A的同名的class,不使用自己的

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2.5.3 其他类加载器

        OSGi框架自身的代码,涉及OSGi框架启动的代码,就没法使用Bundle类加载器来加载

线程上下文加载器,默认为应用程序类加载器

2.5.4 类加载顺序

    

 

   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2.6 定义执行环境

     

2.7 本地化

      bundle的本地化信息必须遵循特定的命名规则,存放在Bundle的指定目录下,如果没有指定,默认为 “OSGI-INFO/110n”

查找对应的语言本地化文件

    第二种是在MANIFEST.MF中使用本地化变量,然后在本地化文件中定义这些变量的值

    

 

 

 

    

       

 

 

 

 

      

 

      

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值