使用 Blueprint Container 规范构建 OSGi 应用程序
2009-11-26 00:00:00 来源:WEB开发网解析 Blueprint XML 文件
实例化
将组件连接在一起
在初始化期间,Blueprint Container 确保强制服务引用得到满足,将所有服务注册到服务注册表中,然后创建初始的组件实例。Blueprint 扩展器包还在包停止后为该包销毁 Blueprint Container。
本文将关注 Blueprint XML。通过若干示例展示组件 XML 定义及其使用。
Blueprint XML
Blueprint XML 文件被标识为顶级 blueprint 元素,如清单 1 所示。
清单 1. Blueprint XML 文件片段<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns=”http://www.osgi.org/xmlns/blueprint/v1.0.0”>
...
</blueprint>
Blueprint XML 文件包含各种组件管理器的定义。Blueprint Container 规范定义了四种主要的组件管理器:一个 bean manager、一个 service manager 和两个 service reference managers。每种管理器都负责创建和管理所创建组件的生命周期。管理器提供了一个组件实例。每个管理器都拥有相应的 XML 元素,用于描述管理器属性。管理器可以是顶级管理器,或者内联在其他管理器定义内。管理器还具有一些通用的属性。
id 定义管理器的 ID。id 属性是可选属性。如果没有指定的话,将自动生成一个唯一 ID 并分配给顶级管理器。内联管理器被认为是匿名的,因此不允许设置 id 属性。管理器 ID 在 Blueprint Container 内对于所有顶级管理器必须是唯一的。管理器使用 ID 彼此引用。例如,在注入期间,管理器将要求被引用的管理器提供对象,该对象将被注入到管理器正在创建的组件中。 activation 这个可选属性为管理器定义激活模式。可支持两种激活模式:
更多精彩
赞助商链接