0 0

关于OSGi bundle的类查找顺序0

OSGi核心规范5.0中的类查找顺序有8步,第6步说:如果类或资源在某个bundle已声明导出的包中,或者在bundle已声明导入的包中,这次搜索以没有找到而终止。

我的问题是,如果类或资源在某个bundle已声明导出的包中,或者在bundle已声明导入的包中,为什么在第3、4、5步没有找到呢?第三步是在Import-Package声明导入的包中找,第4步是在Require-Bundle声明的Bundle导出的包中找,第5步是在本bundle的类路径中找。

2013年11月26日 15:57

1个答案 按时间排序 按投票排序

0 0

可以看看这个文章:
http://rongmayisheng.com/post/%e6%ba%90%e7%a0%81%e8%a7%a3%e6%9e%90osgi%e7%b1%bb%e5%8a%a0%e8%bd%bd%e9%a1%ba%e5%ba%8f#comment-147

2013年11月28日 15:13

相关推荐

    OSGI入门和整合Spring

    2. **创建OSGI服务**:在OSGI环境中,Spring的bean可以被声明为OSGI服务,这样其他bundle就可以通过服务注册表查找并消费这些服务。 3. **使用Declarative Services(DS)**:OSGI DS提供了一种声明式的方式来管理...

    OSGi 入门+进阶+实战

    1. **模块系统**:OSGi的核心是模块化,每个模块称为一个Bundle,它包含类、资源和元数据。Bundle之间通过导出和导入包来实现依赖关系。 2. **生命周期管理**:OSGi Bundle有启动、停止、安装、更新和卸载等状态,...

    OSGI学习笔记.doc

    在OSGI中,bundle是基本的单元,类似于普通的jar文件,但包含了一个MANIFEST.MF文件,该文件包含了关于bundle的重要信息,如元数据、依赖关系和bundle的行为。MANIFEST.MF文件使得OSGI框架能够理解并管理每个bundle...

    OSGI进阶.pdf

    8. **避免启动顺序依赖**:设计系统时避免依赖于bundle的启动顺序,以提高系统的健壮性。 通过以上分析可以看出,《OSGi进阶》一书不仅深入介绍了OSGi的基本概念和技术要点,还提供了丰富的实践案例和设计模式指导...

    使用Equinox开发OSGi应用程序

    3. **编写代码**:在bundle中定义服务和组件,遵循OSGi的包和类加载规则,以及服务注册和查找机制。每个bundle都可以有自己的生命周期,通过启动和停止来控制服务的提供和使用。 4. **配置manifest.mf**:每个...

    OSGI错误分析解决

    OSGi的核心是模块化,每个模块称为一个Bundle,它包含类和其他资源,并有自己的类加载器。这些bundle可以通过声明性服务来提供和消费服务,实现服务的动态发现和绑定。 当出现错误时,常见的问题可能包括: 1. **...

    osgi felix plug in

    - **服务注册与查找**:插件可以注册服务到OSGi服务注册表,其他bundle可以通过查询服务注册表获取并使用这些服务。 - **配置管理**:Felix插件可以处理配置管理,动态改变模块的配置信息,实现配置的热更新。 - ...

    OSGi service

    Bundle是OSGi的基本模块单位,包含资源(如Java类、帮助文件和图标)和清单文件,其中清单文件提供了关于bundle的元数据,如包名和依赖信息。 在设计OSGi服务时,应避免对运行顺序的假设和依赖,以防止...

    osgi-core技术文档与说明

    模块层是OSGi的核心,它定义了模块(Bundle)的结构和内容。OSGi模块实际上是一个Java存档文件(JAR),但具有特定的OSGi清单文件(Manifest)格式。清单文件包含了模块的元数据和它的依赖关系。模块层的主要职责是...

    OSGI原理及实战

    - **类加载机制**: 解决不同bundle之间类路径冲突问题。 - **bundle生命周期**: 定义了bundle的各种状态及其转换。 - **bundle间通讯**: 通过服务注册中心实现bundle之间的通信。 - **DS组件生命周期**: DS中的...

    springBundle常用包

    10. **集成测试**:在OSGi环境中测试Spring应用可能会比较复杂,Spring Bundle提供了一些工具和策略来简化这个过程,如模拟OSGi服务和控制bundle的启动顺序。 总结来说,"springBundle常用包"涉及到的内容主要是...

    Eclipse-OSGi内核源码分析

    8. **启动配置**:OSGi系统启动时会读取配置文件,如config.ini,来决定哪些Bundle需要在系统启动时自动激活,以及它们的启动顺序。 9. **事件机制**:OSGi通过事件机制来传播系统状态的变化,如Bundle的启动、停止...

    osgi doc

    ### OSGi进阶知识点概览 #### 1. 序 ##### 1.1 读者对象 本文档主要面向已经了解OSGi基本概念或已阅读过《OSGi实战》一书的读者。...- **避免启动顺序依赖**:尽可能避免bundle之间的启动顺序依赖,确保系统的健壮性。

    OSGi-best-practice.pdf

    4. **依赖管理**:OSGi的依赖管理系统能解析模块之间的依赖关系,确保在运行时提供正确的类加载顺序和版本控制。 二、OSGi的优势 1. **可插拔性**:模块可以随时添加、删除或更新,不影响其他模块的运行,这对于...

    Best Practices for Programming Eclipse and OSGi

    Require-Bundle是一种让一个包获得另一个包所有导出类访问权限的机制,可以视为“批量导入”。它具有以下优点: - 可用于非代码依赖关系,如帮助文档。 - 方便的速记形式,可以代替多个导入声明。 - 能够合并分割的...

    spring和OSGI一起开发的规范

    - **服务动态查找与使用:**在OSGi环境中,模块间的服务查找与使用变得非常便捷,无需硬编码即可完成服务的定位和调用。 - **动态部署与更新:**OSGi支持模块的动态部署与更新,大大降低了维护成本。 - **Spring简化...

    Patterns and Best Practices for Dynamic OSGi Applications

    - **依赖关系**:定义了不同Bundle之间的依赖关系,确保正确的加载顺序。 - **可见性**:控制Bundle对外部的可见性和访问权限,增强系统的安全性和模块化程度。 ##### OSGi设计技术 - **白板模式(Whiteboard ...

Global site tag (gtag.js) - Google Analytics