学习 - 我大Spring框架之Dispatch 1

7 篇文章 0 订阅

本文章不借鉴任何其他文章里的资料,仅为源码的直接解读和理解

 

翻译完后发现注释的内容十分拗口,4个方法难以理解

 

 

Dispatch 是Spring里的一个接口

该接口的直接描述是:“为一个服务的端点操作提供动态调用的支持。javax.xml.ws.Service类充当一个工厂,用于创建Dispatch的实例

以下是其原文

 

那么我们开始看看Dispatch内部的方法

 

1,public T invoke(T msg);

  该方法的直接描述:

  “调用服务的同步操作。
  “当排列是根据协议的需求生成时,客户端负责确保msg对象进行结合使用”

 

  参数:msg对象将形成信息,或载有用于调用操作的信息

  返回:响应信息,或载有调用操作的信息

  抛出:WebServiceException  如果与服务通信的过程中发生故障

  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误

 

 

2,public Response<T> invokeAsync(T msg);

 

  该方法的直接描述:

  “调用服务的异步操作。
  “该方法返回无等待的操作调用响应,操作的结果是通过轮询返回Response” 

  “当排列是根据协议的需求   生成时,客户端负责确保msg对象进行结合使用”

 

  参数:msg对象将形成信息,或载有用于调用操作的信息

  返回:响应信息,或载有调用操作的信息

  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误

 
3,public Future<?> invokeAsync(T msg, AsyncHandler<T> handler); 

   该方法的直接描述:

  “调用服务的异步操作。”
  “该方法返回无等待的操作调用响应,操作结果是通过handler通知客户端。

  “当排列是根据协议的需求   生成时,客户端负责确保msg对象进行结合使用”

 

  参数:msg对象将形成信息,或载有用于调用操作的信息

  参数:handler对象接收用于调用操作的响应

  返回:Future对象,可用于检查操作的调用状态。该对象不能被用于尝试获取操作结果——该对象通过                    Future<?>.get()返回,Future<?>.get()实现了依赖并且任何的使用会导致non-portable行为
  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误


 

 

 

 

4,public void invokeOneWay(T msg);

 

  该方法的直接描述:

  “调用服务操作使用单向交互模式。”
  “在逻辑上是非阻塞调用的操作,受到底层协议作用的制约,不返回任何结果。”

  “当使用的协议是SOAP/HTTP,这个方法必须等到一个HTTP响应代码已收到或发生错误。”

  “当排列是根据协议的需求   生成时,客户端负责确保msg对象进行结合使用”

 

  参数:msg对象将形成信息,或载有用于调用操作的信息

  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误


 

 

接下来会解析其相关类,从而理解Dispatch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值