【发布时间】:2014-09-18 00:18:07
【问题描述】:
我正在使用 apache commons httpclient 4.3.x 和 spring3。我正在尝试将连接池与它关联的 socketconfig 实例连接起来。
我的代码如下所示:
<bean id="socketConfig" class="org.apache.http.config.SocketConfig" factory-method="custom" init-method="build">
<property name="soTimeout" value="60000"/>
<property name="soLinger" value="5" />
</bean>
<bean name="poolingHttpConnectionManager" class="org.apache.http.impl.conn.PoolingHttpClientConnectionManager" depends-on="socketConfig">
<property name="maxTotal" value="20" />
<property name="defaultMaxPerRoute" value="20" />
<property name="defaultSocketConfig" ref="socketConfig" />
</bean>
但是,这不起作用。用于在 PoolingHttpClientConnectionManager 上 setDefaultSocketConfig() 的实例类型是 SocketConfig.Builder 而不是 SocketConfig。
我想要发生的事情如下:
SocketConfig config = SocketConfig.custom()
.setSoTimeout(60000)
.setSoLinger(5)
.build()
所以,我希望 socketConfig bean 类型应该是 SocketConfig 实例,而不是 SocketConfig.Builder 实例。
根据 spring 文档,我认为这应该可行。
我做错了什么吗?或者这只是在春季不支持?
【问题讨论】:
标签: spring apache-httpclient-4.x spring-3