[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |

Tuscany SCA 服务调用过程分析

作者: 王锋,  出处:构客网, 责任编辑: 李春禹, 
2007-12-11 11:36
  Tuscany于8月31日发布了0.99版本,此版本较之前发布的0.91版本在结构上做了较大的调整,其服务的调用方式又重新进行了规划,本文就其服务调用过程进行探讨。

  1 调用接口

  public B getService(Class businessInterface, String serviceName)

  根据提供Component中定义的Service名称,以及要转换的类型取得要调用的Service接口。

  参数描述:businessInterface

  当前版本的businessInterface定义对Version 0.91进行了扩充,不仅支持接口,而且支持实现类,这主要是在生成代理时做了扩充,对接口类型采用JDK的ProxyFactory生成代理,而对实现类采用Cglib生成代理。

  参数描述:serviceName

  定义Service的名称,采用ComponentName/ServiceName的方式来表明哪个Component下的具体Service,如果Compnent下仅定义了一个Service,则此ServiceName可以省略,仅保留CompnentName。但是如果Component下定义了多个Service,则必须指明ServiceName,以标明具体的Service。这种方式与以前实现有点不同,在上一版本中对ServiceName不限制,即使Component下包含多个Service,默认取第一个Service,因为在组装是已经定义好了。

  2 调用原理

  Tuscany对Service的调用都会委派到RuntimeComponentContext中,把Component中的每个Service都生成Component中定义的SelfReference,然后在Reference中调用其Service,根据接口的名称生成代理。

  对应的序列图如下......更多内容查看》

“进入SOA服务的实现专区”

  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅