使用 blueprint container 规范构建 osgi 应用程序

使用 blueprint container 规范构建 osgi 应用程序

ID:6119827

大小:226.00 KB

页数:21页

时间:2018-01-03

使用 blueprint container 规范构建 osgi 应用程序_第1页
使用 blueprint container 规范构建 osgi 应用程序_第2页
使用 blueprint container 规范构建 osgi 应用程序_第3页
使用 blueprint container 规范构建 osgi 应用程序_第4页
使用 blueprint container 规范构建 osgi 应用程序_第5页
资源描述:

《使用 blueprint container 规范构建 osgi 应用程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、使用BlueprintContainer规范构建OSGi应用程序简介: OpenServiceGatewayinitiative(OSGi)Alliance框架变得越来越受欢迎。它为开发模块化的动态应用程序提供了良好的机制。最新发布的OSGiServicePlatformRelease4V4.2规范引入了BlueprintContainer规范。在本文中,了解在不复杂化Java™代码的情况下,BlueprintContainer如何为在OSGi环境中创建动态应用程序提供简单的编程模型。本文提供了大量示例

2、帮助您开始使用BlueprintXML文件和组件XML定义。标记本文!简介OSGi框架为开发模块化的动态应用程序提供了良好的机制,它最近正变得十分流行。最新的OSGiServicePlatformRelease4V4.2规范包括了一个名为BlueprintContainer的规范。Spring动态模块如果熟悉Spring框架的话,您将注意到Spring和BlueprintContainer规范之间有许多相似点。Blueprint规范的基础恰好是SpringDynamicModules项目。Bluepri

3、ntContainer规范为OSGi定义了一个 依赖性注入(dependencyinjection)框架。它的目的是处理OSGi的动态特性,即服务可以在任何时间变得可用和不可用。该规范的另一个意图是处理普通旧Java对象(POJO),这样相同的对象就可以用于OSGi框架的内部和外部。定义并描述应用程序各个组件的BlueprintXML文件对Blueprint编程模型十分重要。规范描述了组件如何被实例化,以及如何相互连接在一起形成一个可以运行的应用程序。BlueprintContainer规范使用了一个扩

4、展器(extender)模式,借助这种模式,扩展器包监视框架中的包的状态,并根据这些包的状态为它们执行操作。Blueprint扩展器包等待包被激活,然后检查它们是否是Blueprint包。如果一个包包含一个或多个BlueprintXML文件,那么它就被认为是Blueprint包。这些XML文件位于一个OSGI-INF/blueprint/目录下的某个固定位置,或者在 Bundle-Blueprint 清单头部中显式指定。一旦扩展器确定某个包是Blueprint包后,它将为这个包创建一个Blueprint

5、Container。这个BlueprintContainer负责完成以下操作:·解析BlueprintXML文件·实例化·将组件连接在一起在初始化期间,BlueprintContainer确保强制服务引用得到满足,将所有服务注册到服务注册表中,然后创建初始的组件实例。Blueprint扩展器包还在包停止后为该包销毁BlueprintContainer。本文将关注BlueprintXML。通过若干示例展示组件XML定义及其使用。回页首BlueprintXMLBlueprintXML 文件被标识为顶级 bl

6、ueprint 元素,如清单1所示。清单1.BlueprintXML文件片段...BlueprintXML文件包含各种组件管理器的定义。BlueprintContainer规范定义了四种主要的组件管理器:一个 beanmanager、一个 servicemanager 和两个 servic

7、ereferencemanagers。每种管理器都负责创建和管理所创建组件的生命周期。管理器提供了一个组件实例。每个管理器都拥有相应的XML元素,用于描述管理器属性。管理器可以是顶级管理器,或者内联在其他管理器定义内。管理器还具有一些通用的属性。id定义管理器的ID。id 属性是可选属性。如果没有指定的话,将自动生成一个唯一ID并分配给顶级管理器。内联管理器被认为是匿名的,因此不允许设置 id 属性。管理器ID在BlueprintContainer内对于所有顶级管理器必须是唯一的。管理器使用ID彼此引用

8、。例如,在注入期间,管理器将要求被引用的管理器提供对象,该对象将被注入到管理器正在创建的组件中。activation这个可选属性为管理器定义激活模式。可支持两种激活模式:·eager,其中管理器在BlueprintContainer初始化期间激活。·lazy,其中管理器按需要激活。默认情况下,启用 eager 激活模式。然而,通过对 blueprint 元素设置 default-activation 属性,可以为BlueprintXML文件

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。