学习 - 我大Spring框架之Dispatch 1

阅读更多

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

 

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

 

 

Dispatch 是Spring里的一个接口

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

以下是其原文
学习 - 我大Spring框架之Dispatch 1_第1张图片

 

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

 

1,public T invoke(T msg);

  该方法的直接描述:

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

 

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

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

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

  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误
学习 - 我大Spring框架之Dispatch 1_第2张图片
 

 

2,public Response invokeAsync(T msg);

 

  该方法的直接描述:

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

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

 

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

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

  抛出:WebServiceException  如果在配置Dispatch实例时发生任何错误
学习 - 我大Spring框架之Dispatch 1_第3张图片
 
3,public Future invokeAsync(T msg, AsyncHandler handler); 

   该方法的直接描述:

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

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

 

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

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

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

学习 - 我大Spring框架之Dispatch 1_第4张图片
 

 

 

 

4,public void invokeOneWay(T msg);

 

  该方法的直接描述:

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

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

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

 

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

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

学习 - 我大Spring框架之Dispatch 1_第5张图片
 

 

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

  • 学习 - 我大Spring框架之Dispatch 1_第6张图片
  • 大小: 16.7 KB
  • 学习 - 我大Spring框架之Dispatch 1_第7张图片
  • 大小: 19.6 KB
  • 学习 - 我大Spring框架之Dispatch 1_第8张图片
  • 大小: 20.3 KB
  • 学习 - 我大Spring框架之Dispatch 1_第9张图片
  • 大小: 26.8 KB
  • 学习 - 我大Spring框架之Dispatch 1_第10张图片
  • 大小: 20.5 KB
  • 学习 - 我大Spring框架之Dispatch 1_第11张图片
  • 大小: 15.1 KB
  • 查看图片附件

你可能感兴趣的:(学习 - 我大Spring框架之Dispatch 1)