五、Chain链的作用

简介:

Chain是一个链,是Handler的链。也就是说一次请求可能要执行多个Handler。

1、下面我们就编写一个Handler,让它用chain的方法执行。

 

代码

 

 

上面的HandlerChain继承了SimpleChain,在构造器中创建了RequestHandler、ResponseHandler,然后用addHandler添加到chain的handler中。特别说明下,这里的chain其实也是一个handler,为什么这样说?我们继承的SimpleChain就继承了BsaicHandler这个抽象类,所以chain也是一个handler。有人想既然是handler那它的配置也应该和handler差不多,没错chain的配置可以引用handler的配置。

 

2、配置chain的wsdd文件

先看配置方式1:

代码

 

 

 

在chain元素中配置了一个handler标签,这个标签的type就是classpath类路径,然后在requestFlow标签中配置chain元素标签,用type引用上面的chain即可。

 

配置方式2:

 

代码

 

 

上面先配置了handler,刚才说过chain也是一种特别的handler。所以用handler标签配置chain,然后在chain标签中用handler的type引用hchain,最好在responseFlow标签中用chain引用上面配置好的chain。

注意:chain标签中只能配置handler、chain这2种元素,chain里面可以嵌套配置chain;

 

3、发布wsdd配置过chain的WebService

java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/AxisWebService/services/AdminService deployChain.wsdd

在浏览器中请求:http://localhost:8080/AxisWebService/servlet/AxisServlet

就可以看到发布的服务了。

 

4、编写客户端代码,请求刚才发布的WebService。客户端的代码和上面的HelloWorldWSDDClient几乎引用,只是请求的服务换成刚才我们发布的那个服务路径就可以了。运行后服务器端控制台效果如下:

state: null, count: 1, requestCount: 1

state: null, count: 1, RESPONSE_COUNT: 1

state: null, count: 2, requestCount: 2

state: null, count: 2, RESPONSE_COUNT: 2







本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2010/12/20/1911375.html,如需转载请自行联系原作者
目录
相关文章
|
机器学习/深度学习 数据采集 SQL
一文读懂大数据实时计算(一)
本文分为四个章节介绍实时计算,第一节介绍实时计算出现的原因及概念;第二节介绍实时计算的应用场景;第三节介绍实时计算常见的架构;第四节是实时数仓解决方案。
3009 0
一文读懂大数据实时计算(一)
阿里商旅-国内商旅界的未来,今天聊聊阿里商旅是如何做业务的
阿里商旅是如何做业务的 基于钉钉的智能移动差旅1.0版本;开放平台对接方案2.0版本
阿里商旅-国内商旅界的未来,今天聊聊阿里商旅是如何做业务的
|
SQL 存储 关系型数据库
nacos安装教程
nacos安装教程
926 0
nacos安装教程
|
人工智能 达摩院 算法
浅谈面向专业用户的工具设计:达摩院 AI Earth 地球科学云平台设计案例
作者: 达摩院设计-壳恪你了解我们的地球嘛?从眼前方寸到浩瀚星空,你是否从卫星视角看过我们的家园?随着对地观测技术的发展和数智时代的到来,我们不仅仅满足于看见地球,更想要看懂地球。原本科研工作者们需要通过ArcGIS、Envi等传统桌面软件对本地存储的卫星遥感影像进行分析处理,从而得出地球上的自然资源如何分布、我们的城市在数十年间发生了什么样的变化、生态环境的变迁会对人类造成什么样的影响,而达摩院
785 2
浅谈面向专业用户的工具设计:达摩院 AI Earth 地球科学云平台设计案例
|
编解码 算法 数据可视化
Google Earth Engine(GEE)——全球河流宽度数据集1970—2017年
Google Earth Engine(GEE)——全球河流宽度数据集1970—2017年
717 0
Google Earth Engine(GEE)——全球河流宽度数据集1970—2017年
|
SQL Java 关系型数据库
【SSM框架】——Mybatis详解01+文末案例【源码自取】
昨天学习SSM框架前篇动态代理,首先要先了解代理、静态代理、动态代理,先详解动态代理。 那么今天就正式开始学习mybatis框架,为了尽可能详细,通俗易懂,每篇知识点不会很多,细水长流。
【SSM框架】——Mybatis详解01+文末案例【源码自取】
|
存储 Java API
Java数据结构——————双向链表(详细图解,增删改查详细实现)(上)
目录 1.什么是双向链表? 2.双向链表的基本功能和结构 3.双向链表基本功能详细图解代码实现 1.清空,判空,获得长度功能实现 2.获取第一个元素和最后一个元素 3.添加元素t 4.向指定位置i插入元素t 5.获取指定位置i处的元素 6.找到元素t第一次出现的位置 7.删除位置i的元素,并返回该元素
355 0
Java数据结构——————双向链表(详细图解,增删改查详细实现)(上)
|
Shell Linux Go
在 Go 语言中使用 exec 包执行 Shell 命令(上)
exec 是 os 包中的一个子包,它可用于使用 Go 运行外部命令。Go exec 命令教程展示了如何在 Golang 中执行 shell 命令和程序。
|
存储 人工智能 运维
数据中心的下一步,万国数据探索全新合作伙伴生态战略
数据中心的下一步,万国数据探索全新合作伙伴生态战略
676 0
数据中心的下一步,万国数据探索全新合作伙伴生态战略
|
机器学习/深度学习 数据采集 存储
Drug Target Review | 人工智能(AI)在基因组学中的作用
Drug Target Review | 人工智能(AI)在基因组学中的作用
1068 0
Drug Target Review | 人工智能(AI)在基因组学中的作用