快速业务通道

使用Spring Framework设计和开发SCA组件,第1部分 - 三剑客 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
btractService"/>    <sca:reference name="multiplyService"  type="calculator.MultiplyService"/>    <sca:reference name="divideService"  type="calculator.DivideService"/> </beans>

SCA 运行时中的应用程序上下文创建

在 Spring 中,主要的模块单元是应用程序上下文,它包含一定数量的bean (由 Spring 应用程序上下文管理的对象)。应用程序上下文可以在一个分层结 构中配置,在其中,子应用程序上下文可以看到父应用程序上下文中定义的bean ,但反之则不行。

默认情况下,Spring 容器在创建容器时验证每个 bean 的配置,包括验证 bean 引用是否实际引用了有效的bean。对于包含对 SCA 引用和属性的引用的 Spring 应用程序上下文,为在 Spring 应用程序上下文中使用的所有 SCA 引用 和属性创建有效 bean 是 SCA 运行时的职责。然后,Spring 容器可以验证 bean 并成功加载应用程序上下文。图 3 给出了一个示例。

图 3. 具有父上下文的SCA 运行时

Tuscany 运行时使用 Spring Binary V2.5.5 加载和运行目标应用程序上下 文,这些上下文在 <implementation.spring> 元素的location 属性中指 定,而该元素在 calculator.composite 文件中定义(如 清单 2 所示)。在加 载目标应用程序上下文之前,Tuscany 运行时尝试:

内省目标应用程序上下文定义文件,确定在 Spring 应用程序上下文中声明 的SCA 服务、引用和属性。

使用合适的Spring bean,为在目标应用程序上下文中声明的所有 SCA 引用 属性创建一个 SCAParentApplicationContext。

在上面的示例中,使用合适的Spring bean 为在 calculator-context.xml 文件中声明的所有 SCA 引用(比如 addService、subtractService、 multiplyService 和 divideService)创建了一个 SCAParentApplicationContext(参见 图 3)。随后,使用 org.springframework.context.support.GenericApplicationContext 创建目标 应用程序上下文,将 SCAParentApplicationContext 声明为它的父上下文。

Tuscany 运行时还提供了必要的基础设施来创建合适的服务绑定,根据 SCDL 配置,为使用 Spring bean 实现的这些服务提供必需的策略。

结束语

本文介绍了如何使用基于 Spring 的应用程序设计和开发 SCA 组件。您现在 可以使用自定义 SCA 名称空间元素,在 Spring 应用程序上下文中显式声明 SCA 服务、引用和属性,可以在 Spring 应用程序上下文中直接声明 SCA 引用 和属性。您了解了 SCA 运行时如何为 SCA 组件创建目标应用程序上下文。借助 示例,本文简短介绍了在应用程序上下文中使用隐式 SCA 引用和属性的局限性 。

SCA 和 Spring 能够构成一个强大的组合。Spring 提供了基础设施来开发具 有更高效率和运行时性能的组件,还改进了测试覆盖率和应用程序质量。SCA 提 供了必要的基础设施来组装和建模基于 SOA 的组件,支持组件公开服务,将服 务组件连接在一起,以及处理异构的分布式系统。

敬请期待第 2 部分的推出,第 2 部分将介绍一些高级特性,比如使用 SCA 处理多种应用程序上下文,在 Spring bean 中使用 SCA 注释。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号