阅读更多
本文章不借鉴任何其他文章里的资料,仅为源码的直接解读和理解
翻译完后发现注释的内容十分拗口,4个方法难以理解
Dispatch 是Spring里的一个接口
该接口的直接描述是:“为一个服务的端点操作提供动态调用的支持。javax.xml.ws.Service类充当一个工厂,用于创建Dispatch的实例”
以下是其原文
那么我们开始看看Dispatch内部的方法
1,public T invoke(T msg);
该方法的直接描述:
“调用服务的同步操作。”
“当排列是根据协议的需求生成时,客户端负责确保msg对象进行结合使用”
参数:msg对象将形成信息,或载有用于调用操作的信息
返回:响应信息,或载有调用操作的信息
抛出:WebServiceException 如果与服务通信的过程中发生故障
抛出:WebServiceException 如果在配置Dispatch实例时发生任何错误
2,public Response invokeAsync(T msg);
该方法的直接描述:
“调用服务的异步操作。”
“该方法返回无等待的操作调用响应,操作的结果是通过轮询返回Response”
“当排列是根据协议的需求 生成时,客户端负责确保msg对象进行结合使用”
参数:msg对象将形成信息,或载有用于调用操作的信息
返回:响应信息,或载有调用操作的信息
抛出:WebServiceException 如果在配置Dispatch实例时发生任何错误
3,public Future> invokeAsync(T msg, AsyncHandler 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
- 大小: 16.7 KB
- 大小: 19.6 KB
- 大小: 20.3 KB
- 大小: 26.8 KB
- 大小: 20.5 KB
- 大小: 15.1 KB