日记 - axis1、axis2、XFire、CXF的简单性能比较

 

本文是调研4款webservice架构的效率,使用简单的demo进行进简单测试。测试结果为客户端发起请求时间,与服务器访问数据库后,返回响应的时间。一下4个工程都访问了数据库

 

Xfire:目录结构如下所示,所用IDE是myeclipse

日记 - axis1、axis2、XFire、CXF的简单性能比较_第1张图片

直接部署tomcat即可

 

测试结果:


 

 

 

Axis1:工程结构如下 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第2张图片

HelloWorld和GoodBye都作为对外发布的WebService,统一由server-config.wsdd配置文件控制。

测试:客户端代码如下图

日记 - axis1、axis2、XFire、CXF的简单性能比较_第3张图片
 结果为服务端接收请求时间和客户端接收服务端返回数据时间

 



 

 平均70几毫秒

 

 

 

 

Axis2:到Apache的官网去下载一个war包



 上图中有两个包,两个包的内容都是一样的。将war包解压后得到“axis2.war”。将该包放入tomcat目录下的webapps文件夹内,然后启动tomcat可以得到下图中的文件夹

 

 
日记 - axis1、axis2、XFire、CXF的简单性能比较_第4张图片


 这时WS服务已经启动。


日记 - axis1、axis2、XFire、CXF的简单性能比较_第5张图片
 

修改下图所示路径下的axis2文件,只需将其中的

<parameter name="hotupdate">true</parameter>改成true,就可以支持热部署。

 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第6张图片
 

 这时新建一个pojo文件夹,将编译过的class文件放入即可支持WS的及时发布。

 

日记 - axis1、axis2、XFire、CXF的简单性能比较_第7张图片
 

 如图所示,可以看到我的HelloService.class文件已经发布在页面上

 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第8张图片
 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第9张图片

 


  测试:客户端代码如下图


日记 - axis1、axis2、XFire、CXF的简单性能比较_第10张图片
 

 

 结果为服务端接收请求时间和客户端接收服务端返回数据时间



 

 

 结果有点浮动,数值在170-200毫秒左右

 

 

 

 

 

CXF:工程目录结构如下


日记 - axis1、axis2、XFire、CXF的简单性能比较_第11张图片
 

 CXF没有配置文件,WS的配置以注解来进行,如下图

 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第12张图片
 
日记 - axis1、axis2、XFire、CXF的简单性能比较_第13张图片
 

 可使用java代码进行WS的发布


日记 - axis1、axis2、XFire、CXF的简单性能比较_第14张图片
 

 客户端代码如下

 

 


日记 - axis1、axis2、XFire、CXF的简单性能比较_第15张图片
 

 测试结果

 



 

 

 

 

 

 

 

你可能感兴趣的:(java,tomcat,webservice)