使用Spring Framework设计和开发SCA组件,第1部分 - 三剑客 - 编程入门网
="CalculatorService">
<interface.java interface="calculator.CalculatorService"/>
<t:binding.rmi host="localhost" port="8099"
serviceName="CalculatorRMIService"/>
</service>
<reference name="addService" target="AddComponent" />
<reference name="subtractService" target="SubtractComponent" />
<reference name="multiplyService" target="MultiplyComponent"/>
<reference name="divideService" target="DivideComponent" />
</component>
<component name="AddComponent">
<t:implementation.script script="calculator/AddServiceImpl.js"/>
</component>
<component name="SubtractComponent">
<implementation.java class="calculator.SubtractServiceImpl"/>
</component>
<component name="MultiplyComponent">
<implementation.java class="calculator.MultiplyServiceImpl"/>
</component>
<component name="DivideComponent">
<t:implementation.script script="calculator/DivideServiceImpl.groovy"/>
</component>
</composite>
calculator.composite 使用 <reference> 元素定义 CalculatorComponent 与其他四个服务之间的依赖关系,比如说 AddComponent 、SubtractComponent、MultiplyComponent 和 DivideComponent。它们是使用 不同技术实现的。AddComponent 提供 addService 实现,用于返回两数之和。 同样,SubtractComponent 提供 subtractService 实现,用于返回两数之差。 MultiplyComponent 提供 multiplyService 实现,用于返回两数之积。 DivideComponent 则提供 divideService 实现。 您可能注意到在 calculator.composite 中,AddComponent、 SubtractComponent、MultiplyComponent 和 DivideComponent 并未使用 <service> 元素明确公开任何服务(采用这种方式,本示例声明为 CalculatorComponent 公开了 CalculatorService)。这样,当您的SCA 组件未 使用 <service> 元素明确公开任何服务时,则 SCA 运行时默认会使用 binding.sca 绑定公开您的组件。同样,在 CalculatorComponent 中,您不必 为这些组件引用指定任何具体的绑定信息。SCA 运行时提供了默认的 binding.sca 绑定,用于关联各组件。有关 binding.sca 的详细信息,请参阅 SCA Assembly Model Specification。 在本例中,CalculatorComponent 是一个 Spring 应用程序,它使用 Spring beans 定义了业务逻辑。在您的Spring 应用程序上下文定义文件中声明所需的 SCA 依赖关系非常重要。 创建一个名称为 calculator-context.xml 的Spring 应用程序上下文定义文 件。如清单 3 所示,通过声明实现所需功能需要的beans 以及它们的依赖关系 ,提供了 CalculatorComponent 的业务逻辑。 清单 3. calculator-context.xml
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |