OSGi的主要职责就是为了让开发者能够建动态化、模块化的Java系统。
OSGi的组成
通常,OSGi 框架从概念上可以分为三层:模块层、生命周期层和服务层。各层的主要功能如下:
<!--[if !supportLists]-->Ø <!--[endif]-->Module Layer —— 模块层主要涉及包及共享的代码;
<!--[if !supportLists]-->Ø <!--[endif]-->Lifecycle Layer —— 生命周期层主要涉及 Bundle 的运行时生命周期管理;
<!--[if !supportLists]-->Ø <!--[endif]-->Service Layer —— 服务层主要涉及模块之间的交互和通信。
Bundle 是 OSGi 中的基本组件,其表现形式仍然为 Java 概念中传统的 Jar 包,同时通过 META-INF 目录下的 MANIFEST.MF 文件对其予以进一步的定义。
Bundle可以被动态地安装、启动、停止和卸载。
Bundle是服务(Service)和组件(Component)的载体。
在OSGi中,每个Bundle都有自己独立于其他Bundle的ClassLoader,正因为这样,各个Bundle内部的类是隔离的
原文:http://www.cnblogs.com/faywang/p/5259287.html