马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
JAIN SLEE 服务创建过程 (创建一个服务)
根据 JAIN SLEE 1.1 规范,创建服务遵循特定步骤,包括定义、定制、打包和摆设服务。以下是关键部分的解释以及 XML 节点的注释阐明。
1. 服务定义
定义服务时,需要确定服务的构成部分,比方服务构建块(Service Building Blocks, SBB)以及它与外部资源的交互。
- 服务摆设形貌符:
- 摆设形貌符是一个 XML 文件,用于定义服务的各种属性。
- 关键元素:
- service-name, service-vendor, service-version: 唯一标识服务的名称、提供商和版本信息。
- root-sbb: 标识服务的根 SBB,这是驱动服务逻辑的核心组件。
- default-priority: 设置根 SBB 与 SLEE 之间的事件传递优先级。
- address-profile-table: 定义为服务触发的地点配置文件表。
- <!-- 服务部署描述符:定义服务的名称、提供商和版本 -->
- <service-xml>
- <service>
- <!-- 服务的描述信息 -->
- <description> FooService </description>
-
- <!-- 服务名称 -->
- <service-name> FooService </service-name>
-
- <!-- 服务提供商 -->
- <service-vendor> com.foobar </service-vendor>
-
- <!-- 服务版本 -->
- <service-version> 1.0 </service-version>
-
- <!-- 根SBB:标识服务的核心逻辑处理模块 -->
- <root-sbb>
- <description> Root SBB for FooService </description>
- <!-- SBB名称 -->
- <sbb-name> FooSBB </sbb-name>
- <!-- SBB提供商 -->
- <sbb-vendor> com.foobar </sbb-vendor>
- <!-- SBB版本 -->
- <sbb-version> 1.0 </sbb-version>
- </root-sbb>
- <!-- 事件传递的默认优先级 -->
- <default-priority> 5 </default-priority>
-
- <!-- 地址配置文件表 -->
- <address-profile-table> FooAddressProfileTable </address-profile-table>
- </service>
- </service-xml>
复制代码 2. 定制服务
在服务运行之前,必须根据运行环境对其进行定制,特别是在资源适配器绑定和 SBB 属性别名的辩论处理惩罚上。
- 资源适配器: 服务摆设者确保 SBB 绑定正确的资源适配器,定义服务怎样与外部系统交互。
- 运动上下文属性别名: 如果两个 SBB 之间在别名上存在辩论,摆设者可以通过修改摆设形貌符来办理。
- <!-- SBB部署描述符:定义SBB与资源适配器的绑定 -->
- <sbb-jar>
- <sbb>
- <!-- SBB的名称、提供商和版本信息 -->
- <sbb-name>FooSBB</sbb-name>
- <sbb-vendor>com.foobar</sbb-vendor>
- <sbb-version>1.0</sbb-version>
- <!-- 绑定的资源适配器类型 -->
- <resource-adaptor-type-binding>
- <resource-adaptor-type-name>FooRAType</resource-adaptor-type-name>
- <resource-adaptor-type-vendor>com.foobar</resource-adaptor-type-vendor>
- <resource-adaptor-type-version>1.0</resource-adaptor-type-version>
- </resource-adaptor-type-binding>
- <!-- 绑定的资源适配器实体 -->
- <resource-adaptor-entity-binding>
- <resource-adaptor-entity-name>FooRAEntity</resource-adaptor-entity-name>
- </resource-adaptor-entity-binding>
- </sbb>
- </sbb-jar>
复制代码 3. 打包服务
服务定义和定制后,需要将服务及其所有组件打包为一个可摆设单元(通常是一个 JAR 文件)。
- 可摆设单元结构:
- 包含服务的 XML 形貌符和构成部分,如 SBB、配置文件规范、事件范例和资源适配器范例。
- 可摆设单元必须按照结构化方式打包,并包含 META-INF/deployable-unit.xml 文件,该文件形貌了其内容。
- <!-- 可部署单元描述符:定义服务打包时的组成部分 -->
- <deployable-unit>
- <description> FooService deployment package </description>
-
- <!-- 包含的SBB JAR文件 -->
- <jar> FooSBB.jar </jar>
-
- <!-- 包含的地址配置文件规范 -->
- <jar> FooAddressProfileSpec.jar </jar>
-
- <!-- 服务部署描述符 -->
- <service-xml> FooService.xml </service-xml>
- </deployable-unit>
复制代码 4. 摆设服务
服务打包后,需要将可摆设单元安装到 SLEE 环境中,注册服务并开始处理惩罚事件。
- 服务注册:服务根据其定义的逻辑开始处理惩罚事件,比方根据事件范例创建新的 SBB 实例。
- 服务交互:服务的根 SBB 会处理惩罚这些事件,须要时与外部系统进行交互。
示例:服务摆设过程
一旦服务摆设到 SLEE 中,它就会根据配置表中的地点信息,自动创建 SBB 实例来处理惩罚相应的事件。
- 触发 SBB 实例:
如果在 FooAddressProfileTable 中配置了某个地点,那么每当与该地点相干的事件发生时,系统会为 FooSBB 创建一个实例来处理惩罚该事件。
- 处理惩罚事件:
根 SBB (FooSBB) 会根据事件的范例和内容实验相应的逻辑,可能会调用子 SBB 来处理惩罚特定的任务。
总结
JAIN SLEE 服务的创建过程重要分为四个步骤:
- 定义服务的各个构成部分;
- 定制服务,确保与外部资源的交互正常;
- 将服务及其组件打包为可摆设单元;
- 摆设服务,开始处理惩罚现实事件。
通过这些步骤,服务可以或许根据事件的发生动态创建 SBB 实例,并根据业务逻辑进行事件处理惩罚。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |