Blueprint 配置文件包含捆绑软件的组件组合件及配置信息。该文件描述如何在 OSGi 服务注册表中注册组件或者它们如何从 OSGi 服务注册表查询服务。此信息用于在启动捆绑软件时,在运行时实例化并配置必需的组件。
在本教程中,蓝图文件会定义其他组件可用于访问课程 2 中所定义的计数器的服务。
在本课程中,您将创建用于定义和描述 CounterServiceBundle 所提供的服务的蓝图配置文件。
要创建蓝图配置文件,请执行下列操作:
- 右键单击项目 CounterServiceBundle 并选择,然后单击完成。这时,将在编辑器中打开蓝图配置文件。
- 将组件组合件和配置信息添加至蓝图配置文件:
- 在编辑器的“设计”选项卡中,单击添加。这时,将打开“添加项目”对话框。
- 单击 Bean,然后单击确定。这时,将打开“Bean 详细信息”对话框。
- 配置 Bean:
- 在 Bean 标识字段中,输入 CounterBean。
- 在 Bean 类字段中,单击浏览。这时,将打开“选择类型”对话框。在选择类型名称字段中,输入 CounterImpl,然后选择 CounterImpl 类。单击确定。
- 单击确定以接受更改并关闭对话框。
- 在编辑器中初始化方法字段的“方法引用”部分下面,输入 init。
这时,会将 Bean 添加至蓝图文件。
- 单击蓝图,然后单击添加。这时,将打开“添加项目”对话框。
- 单击服务,然后单击确定。这时,将打开“服务详细信息”对话框。
- 配置服务:
- 在服务接口字段中,单击浏览,然后选择您在课程 2中创建的 Counter 接口。单击确定。
- 在 Bean 引用字段中,单击浏览,然后选择 Bean:CounterBean。单击确定。
- 单击确定以接受更改并关闭对话框。
这时,会将该服务添加至蓝图文件。
- 保存文件。
切换至“源代码”选项卡以查看蓝图配置源代码:
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="CounterBean" class="com.ibm.ws.eba.counter.CounterImpl" init-method="init"/>
<service id="CounterBeanService" ref="CounterBean"
interface="com.ibm.ws.eba.counter.Counter" />
</blueprint>
提示: 要格式化源代码,请按 Ctrl+Shift+F。
了解有关此蓝图配置文件的更多信息: - bean
- bean 元素定义已实例化的蓝图组件。
- 在本教程中,bean 元素会通过调用 CounterImpl 类构造方法来实现组件 Counter 的实例化。创建该类之后,将调用 getCount() 初始化方法。
- class
- class 属性指定组件的哪个实现类已实例化。
- ld
- id 属性标识组件。如果组件引用自 Blueprint 中的任何其他位置(例如,如果它引用自服务定义),那么此项是必需的。
- init-method
- 创建组件时,将调用 init-method init()。如果不希望在初始化捆绑软件期间调用方法,请移除此属性。
- 维修
- service 元素定义将组件导出至 OSGi 服务注册表。
- 在本教程中,service 元素会将名为 Counter 的组件作为 OSGi 服务注册表中具有接口 com.ibm.ws.eba.counter.Counter(由接口属性指定)的服务进行导出。
- 参考
- ref 属性指的是所导出的组件的组件标识。此标识是在组件元素中定义的。
- interface
- interface 属性指的是组件类实现的接口。
有关蓝图配置文件的更多信息,请参阅 OSGi 蓝图 XML 和 OSGi 蓝图组件模型 (RFC124)。