学习 - 我大Spring框架之Dispatch 1

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

翻译完后发现注释的内容十分拗口,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

猜你喜欢

转载自lcl088005.iteye.com/blog/2155762