osgi基本概念

        1. Bundle:其实就是OSGI中的模块,通过配置jar包中的MAINIFEST.MF,控制从Bundle导出的包,没有导出的包,是不可被外部使用的。我的理解是做到了模块间的调用力度控制有两种方式实现模块交互,一种通过导入,另一种通过Service实现。

            Bundle的状态:

            INSTALLED:安装完成,本地资源成功加载。

            RESOLVED:依赖关系满足,这个状态意味该Bundle要么已经准备好运行,要么是被停止了。

            STARTING:Bundle正在被启动,BundleActivator的start()方法已经被调用但是还没有返回。

            STOPPING:Bundle正在被停止,BundleActivator的stop()方法已经被调用但是还没有返回。

            ACTIVE:Bundle 被成功启动并且在运行。

            UNINSTALLED:bundle被卸载并且无法进入其他状态

 

 

图示 2 Bundle 状态图

 

        2.Service:其实可以理解为spring的service,只不过这里是bundle之间的通信。

 

        3.Service-Oriented Component Model(SOCM):面对组件模型

 

        4.Declarative Service:声明式服务。

 

你可能感兴趣的:(osgi)