`

配置使用连接池的httpClient

    博客分类:
  • java
 
阅读更多

httpClient4.3开始弃用了DefaultHttpClient和PoolingClientConnectionManager.原来这样配置的连接工厂

 

<bean id="clientHttpRequestFactory"
		class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
		<constructor-arg>
			<bean class="org.apache.http.impl.client.DefaultHttpClient">
				<constructor-arg>
					<bean class="org.apache.http.impl.conn.PoolingClientConnectionManager">
						<property name="maxTotal" value="10" />
						<property name="defaultMaxPerRoute" value="5" />
					</bean>
				</constructor-arg>
			</bean>
		</constructor-arg>
		<property name="connectTimeout" value="30000" />
		<property name="readTimeout" value="30000" />
	</bean>

现在改用spring推荐的类,配置如下:

 

<bean id="pollingConnectionManager"
		class="org.apache.http.impl.conn.PoolingHttpClientConnectionManager">
		<property name="maxTotal" value="10" />
		<property name="defaultMaxPerRoute" value="5" />
	</bean>

	<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClientBuilder"
		factory-method="create">
		<property name="connectionManager" ref="pollingConnectionManager" />
	</bean>

	<bean id="httpClient" factory-bean="httpClientBuilder"
		factory-method="build" />

	<!-- -->
	<bean id="clientHttpRequestFactory"
		class="org.springframework.http.client.HttpComponentsClientHttpRequestFactory">
		<constructor-arg ref="httpClient" />
		<property name="connectTimeout" value="30000" />
		<property name="readTimeout" value="30000" />
	</bean>

 

  配置带有连接池的org.springframework.web.client.RestTemplate

 

<bean id="restTemplate" class="org.springframework.web.client.RestTemplate">
		<constructor-arg ref="clientHttpRequestFactory" />
		<property name="messageConverters">
			<list>
				<bean
					class="org.springframework.http.converter.StringHttpMessageConverter" />
				<bean
					class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />
				<bean class="org.springframework.http.converter.FormHttpMessageConverter" />
				<bean
					class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
				<bean
					class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter" />
			</list>
		</property>
	</bean>

 

 

 

 

 

 

分享到:
评论

相关推荐

    springboot中注解配置连接池

    springboot中注解配置连接池

    httpclient获取目标网站内容,get、post方式(可运行)

    httpclient获取目标网站内容,get、post方式(可运行),可以通过配置参数、配置连接池实现

    custom-http:基于httpclient自定义http请求工具类

    1、http连接池。2、可配置正向代理。3、可配置忽略https中CA用户证书认证。4、提供form表单和body两种方式请求。包含功能 1、简便连接网关。2、连接第三方机构。 使用说明 工具类 CustomReqUtil(主调工具类) 工具...

    WebMagic 0.4.0 发布,Java爬虫框架

    修复0 3 2及之前版本连接池不生效的问题 #30 使用HttpClient 4 3 1新的连接池机制 实现连接复用功能 经测试 下载速度可达到90%左右的提升 测试代码:Kr36NewsModel java 二 增加同步抓取的API 对于小规模的抓取...

    开涛高可用高并发-亿级流量核心技术

    12.2.2 HttpClient连接池源码分析 240 12.2.3 HttpClient 4.2.3配置 241 12.2.4 问题示例 243 12.3 线程池 244 12.3.1 Java线程池 245 12.3.2 Tomcat线程池配置 248 13 异步并发实战 250 13.1 同步阻塞调用 251 13.2...

    word源码java-javaUtils-:java常用的工具类,附带Springboot配置属性目录

    HttpClientFactory(同步异步httpclient连接池工厂) http.sync HttpSyncClient(httpclient4.5.x封装) HttpSSLConnectionSocketFactory(https请求实现) HttpSSLConnectionSocketFactoryV2(https协议增加) ...

    基于SpringMVC的一个web框架

    1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 ...1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI ...使用数据库连接池druid dubbo使用

    一个可以直接运行的基于SpringMVC的web框架1.1.12

    使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper 1.1.12 使用draft富文本编辑...

    可以直接运行的基于SpringMVC的web框架示例,也可以直接当公司框架

    使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper 1.1.12 使用draft富文本编辑...

    基于Spring MVC的web框架 1.1.11

    使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper doc内有相关文档

    Java源码 SpringMVC Mybatis Shiro Bootstrap Rest Webservice

    6. 数据库连接池统一配置 7. Quartz定时调度任务集成(直接通过配置即可) 8. Httpclient破解验证码,登陆联通充值平台 9. 汉字、英文拆分、可以用作文档关键字搜索等。 10. Base64图片处理,支持PC,Android,...

    Java开发常用jar包

    11.commons-dbcp.jar:是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。 12.commons-DbUtils.jar:Apache组织提供的一个资源JDBC工具类库,它是对JDBC的简单封装,对传统操作...

    apache-commons源码及jar文件

    Commons-DBCP 提供数据库连接池服务 DbUtils DbUtils 是一个 JDBC helper 类库,完成数据库任务的简单的资源清除代码. Digester Commons-Digester 是一个 XML-Java对象的映射工具,用于解析 XML配置文件. ...

    OkOne:基于okhttp库的网络性能优化框架

    不同的组件模块和三方库间相互创建OkHttpClient实例,或有开发者未通过单例缓存OkHttpClient,或者每次重新请求一次新建,这样将造成浪费和导致无法充分利用okhttp的请求和连接池等控制和优化措施。借助该OkOne库...

    java开源包8

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

    java开源包4

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

    积分管理系统java源码-zhuozun:基于springcloud项目

    连接池整合、跨域资源请求处理等。 项目结构 zhuozun ├ ├── zhuozun-admin-server -- 服务监控 | ├── zhuozun-api -- api接口,提供feign接口 | ├── zhuozun-cache-api -- 缓存接口api,提供feign接口 | ...

    java开源包1

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

    java开源包11

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

Global site tag (gtag.js) - Google Analytics