`
aijuans8
  • 浏览: 178587 次
社区版块
存档分类
最新评论

Apache CXF实战之五 压缩Web Service数据

阅读更多

本文链接:http://blog.csdn.net/kongxx/article/details/7530216

Apache CXF实战之一 Hello World Web Service

Apache CXF实战之二 集成Sping与Web容器

Apache CXF实战之三 传输Java对象

Apache CXF实战之四 构建RESTful Web Service

在现实应用中有些时候会有比较大的数据对象需要传输,或者在一个比较慢的网络环境下发布调用web service,此时可以通过压缩数据流的方式来减小数据包的大小,从而提高web service的性能。下面来看看怎样来做到这一点。

1. 首先模拟一个可以存放大数据的pojo对象,这个对象可以通过构造参数给定的size来模拟一个size大小的字符串。

2. Web Service接口类,和普通的接口定义没有什么区别。

3. Web Service实现类

4. 测试类,这片文章使用了JUnit测试类来做测试。setUpBeforeClass方法用来启动Service, testGetBigData方法用来测试web service。

注意setUpBeforeClass方法中的

factoryBean.getInInterceptors().add(new GZIPInInterceptor());

factoryBean.getOutInterceptors().add(new GZIPOutInterceptor());

和testGetBigData方法中的

endpoint.getInInterceptors().add(new GZIPInInterceptor());

endpoint.getOutInterceptors().add(new GZIPOutInterceptor());

上面两段代码就是告诉CXF使用压缩Interceptor来压缩和解压缩数据包。

5. 运行此unit test,可以在日志中看到数据包前后大小和内容。







分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics