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
分享到:
相关推荐
CXF和Axis支持,以便ActiveMQ可以轻松地放入这些Web服务堆栈中以提供可靠的消息传递 可以用作内存JMS提供程序,非常适合单元测试JMS 支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输...
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 网管...
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...
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 网管...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 异步...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...