`
freemenff
  • 浏览: 33353 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

关于axis1.4中提高传输性能的分析

 
阅读更多
http://hi.baidu.com/%B1%A9%D7%DFboy/blog/item/dbaf25dd572bd8e439012fd5.html


1. 使用http1.1。 默认情况下,axis1.4使用的transport handler是HttpSender,这个类默认使用http1.0作为它的传输标准。而http1.0是不提供persistent connection(keep-alive)模式的,这样每次call都会建立一次新的连接,尤其是对于ssl的连接来说,这个开销就有点霸道了。http11的标准提供了keep-alive机制,把axis的transport升级成http11能节约不必要的连接建立开销。具体做法有:

     (1)调用client call(org.apache.axis.client.Call)来setProperty(MessageContext.HTTP_TRANSPORT_VERSION, HTTPConstants.HEADER_PROTOCOL_11);

     (2)把transport handler改成Jakarta的CommonsHTTPSender。这个需要设置axis engine使其来使用CommonsHTTPSender,在初始化axis.client.Service之前set engine configuration(因为在初始化Service的时候axis回去加载engine configuration)。AxisProperties.setProperty(EngineConfigurationFactory.SYSTEM_PROPERTY_NAME, "com.test.CustomerEngineConfiguraiontFactory"),这样写的目的是告诉axis去使用我们自己定义的factory。 这个CustomerEngineConfiguraiontFactory实现了axis的EngineConfigurationFactory接口,在这个接口实现类里面set了engine configuration。一个简单的实现如下:

public EngineConfiguration getClientEngineConfig() {
   SimpleProvider engineProvider = new SimpleProvider ();
   engineProvider.deployTransport(HTTPTransport.DEFAULT_TRANSPORT_NAME
     , new CommonsHTTPSender());
   return engineProvider;
}

2. 压缩传输数据。 这个需要在设置了transport为http11后才能使用。用axis.client.Call去set相应的property:

call.setProperty(HTTPConstants.MC_GZIP_REQUEST, Boolean.TRUE);
   call.setProperty(HTTPConstants.MC_ACCEPT_GZIP, Boolean.TRUE);

可以参考这里,http://www.pocketsoap.com/weblog/2005/10/1565.html

--end
分享到:
评论

相关推荐

    activemq的windowns编译库、centos7编译库和mac编译库(含头文件和库文件)

    CXF和Axis支持,以便ActiveMQ可以轻松地放入这些Web服务堆栈中以提供可靠的消息传递 可以用作内存JMS提供程序,非常适合单元测试JMS 支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输...

    安防天下智能网络视频监控技术详解与实践part2

    10.1.3 系统中的视频传输 299 10.2 网络传输协议介绍 300 10.2.1 osi模型介绍 300 10.2.2 传输层介绍 303 10.2.3 tcp与udp协议 304 10.2.4 rtp与rtcp协议 307 10.2.5 rtsp与rtvp简介 309 10.2.6 网管...

    安防天下智能网络视频监控技术详解与实践.part3

    10.1.3 系统中的视频传输 299 10.2 网络传输协议介绍 300 10.2.1 osi模型介绍 300 10.2.2 传输层介绍 303 10.2.3 tcp与udp协议 304 10.2.4 rtp与rtcp协议 307 10.2.5 rtsp与rtvp简介 309 10.2.6 网管协议snmp...

    安防天下智能网络视频监控技术详解与实践part1

    10.1.3 系统中的视频传输 299 10.2 网络传输协议介绍 300 10.2.1 osi模型介绍 300 10.2.2 传输层介绍 303 10.2.3 tcp与udp协议 304 10.2.4 rtp与rtcp协议 307 10.2.5 rtsp与rtvp简介 309 10.2.6 网管...

    java开源包8

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包1

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包11

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包2

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包3

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包6

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包5

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包10

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包4

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包7

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包9

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    java开源包101

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    Java资源包01

    它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

Global site tag (gtag.js) - Google Analytics