您好,欢迎光临本网站![请登录][注册会员]  
文件名称: OSGi原理与最佳实践 学习笔记 一
  所属分类: 其它
  开发工具:
  文件大小: 634kb
  下载次数: 0
  上传时间: 2019-04-06
  提 供 者: weixin_********
 详细说明:NULL 博文链接:https://itway.iteye.com/blog/1545218WwW.nasu.com oSGi原理与最佳实践学习笔记 OSGi Service Lifecycle Apps Module 国 Java runtime Environment Operating System Gi层次结构 模块层 Bundle是OsGi中的基本组件,其表现形式仍然为Java概念中传统的Jar包,同时通过 META-NF日永下的 MANIFESTME文件对其予以进一步的定义。通常一个 MANIFESTME文 件的内容如下所示 Manifest∨ ersion:1.0 Bundle-ManifestVersion: 2 Bundle-Name: Util Bundle-SymbolicName: com. ibm director. la util Bundle-Version: 1.0.0.qualifier Bundle-Activator com ibm director a, utilActivator Bundle-Vendor: IBM Bundle- Required Execution Environment: JavaSE-16 Import-Package: org. osgi framework; version=1.3.0 Bundle-Activation Policy lazy Export-Package: com. ibm director. la util; uses: =" org. osgi framework Bundle-ClassPath: libs/jfreechart-1.0. 13-swt jar libs/jfreechart -1.0.13.jar, libs/ifreechart-1.0. 13-experimental jar MANIFEST. MF文件示例 乜就是说, MANIFESⅧ文件存储的实际上是 Bundle的元数据,元数据的内容能够精确的 定义 Bundle的各种特征,同时能够更好的对 Bundle进行标识同时帮组用户的对 Bundle 3交流社区:htp/ bbs, naxsucom交流群:125035597 Www.nasu.com oSGi原理与最佳实践学习笔记 进行理解。例如,通过配置 Import- Package可以指明当前 Bundle需要哪些其他的包,而 通过配置 Export- Package则可以表示当前 Bundle的哪些 package对外部可见。不难理解, 通过这种方式可以有效的对 Bundle内部和外部进行隔离。其他更多軋置请参考相关瓷料。 Bundle可以被动态地安装、启动、停止和卸载 Bundle是服务( Service和组件( Component的载体。 在OSG中,每个 Bundle都有自己独立于其他 Bundle的 Classloader,正因为这样,各个 Bundle 内部的类是隔离的。 Bundle之间的交互方式 1通过 Package的 Export(对外暴露自己的一个或多个 package和 mport(导入别人的一个或多 个 package来进行 2通过 Service的方式进行。一个 Bundle作为 Service提供方,对外提供 Servcie.使用者可以 查找到提供的 Service.并使用这个 ServIce.而提供/使用 Service又存在两种方式:一种是绎 典的做法,通过 Bundlccontext( Bundle的上下文)米提供和获取.一种是使用 Declarative Service来实现. 生命周期层 Bundle的生命周期被osG框架所管理,具有如下几个状态:| NSTALLED、 RESOLVED、 UNINSTALLED、 STARTING、 ACTIVE、 STOPPING状态之间的转换关系如下图 Insta update INSTALLED refresh x STARTING start RESOLVED ACTIVE stop STOPPING UNINSTALLED Bund|e状态转换关系图 4交流社区:htp/ /bbs. naxsucom交流群:125035597 WwW.nasu.com oSGi原理与最佳实践学习笔记 服务层 一个 OSGi service就是注册到oSGi框架中的一个Java对象。这注册的时候可以 设置这个 Service的属性。而在获取 Service的进候可以根据属性进行过虑( Filter), Bundle可以通过 Bundle的上下文去注册 Service或去查询 Service OSGi Framework ookup service Register Service Invoke service Bundle b Bundle a (Service Consumer) (Service Provider) 服务模型示例图 Service-Oriented Component Model(SoCM) 首先米看 Component的慨念 Component和 Service从定义上看差不多,任何-个普通的Java 对象都可以通过配置文件中的定义而变为一个 Component Component对外提供」服务并且 可以使用其他 Component提供的服务, Component的生命周期被osGi框架所管理我们可 以看到, Component是提供和使用服务的另外一和方式,并且具有生命周期. SoCM在字面上的意思就是面向服务的组件模型在这个模型中 Component是服务的载体, 提供对外使用的服务并可能使用外部的服务,而 Component存在于 Bundle之中,系统由多 个 Bundle组成 Bundle B uncle Component Component a Javi ject component component Java Javs Obiect object Component Component SoCM示意图 5交流社区;htp/obs.nasu.com交流群:125035597 Www.nasu.com oSGi原理与最佳实践学习笔记 Declarative Service(Ds) Declarative service(DS)是 OSGi Core framework的一个标准服务,D5让我们在 Bundle中定义 Component,通过配置的方式发布服务、获取服务,以帮助我们实现前面提到的SOCM。有 了DS,我们就可以按照 Component+ Service的方式进委系统的设计与开发。 6交流社区:htp/ bbs, naxsucom交流群:125035597
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: osgi原理
 输入关键字,在本站1000多万海量源码库中尽情搜索: