HttpConnectionManagerParams不适用于HTTPS URL

问题描述 投票:0回答:1

我们使用Apache Camel的camel-http组件与HTTP端点集成,HttpConnectionManagerParams用于配置defaultconnectionsPerHost和maxTotalConnections。

<bean class="org.apache.commons.httpclient.params.HttpConnectionManagerParams" id="MyHttpConnectionManagerParams">
    <property name="defaultMaxConnectionsPerHost" value="20"/>
    <property name="maxTotalConnections" value="200"/>
</bean>

仅当端点URL通过HTTP时,上述参数才会生效,相同的配置将变为无效,并且当端点通过HTTPS时,默认HttpConnectionManager将生效。

是否还有为HTTPS网址配置的内容?

java apache-camel java-ee-6 camel-http
1个回答
0
投票

添加以下bean已经解决了我的工作。同意在Camel中没有名为HTTPS的组件,但是在旧版本和较新版本的Apache Camel中都使用了以下配置。

<bean class="org.apache.camel.component.http.HttpComponent" id="http">
   <property name="camelContext" ref="myCamelContext"/>
   <property name="httpConnectionManager" ref="MyHttpConnectionManager"/>
 </bean>
<bean class="org.apache.camel.component.http.HttpComponent" id="https">
   <property name="camelContext" ref="myCamelContext"/>
   <property name="httpConnectionManager" ref="MyHttpConnectionManager"/>
 </bean>
<bean class="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager" id="MyHttpConnectionManager">
   <property name="params" ref="MyHttpConnectionManagerParams"/>
 </bean>
<bean class="org.apache.commons.httpclient.params.HttpConnectionManagerParams" id="MyHttpConnectionManagerParams">
   <property name="defaultMaxConnectionsPerHost" value="100"/>
   <property name="maxTotalConnections" value="500"/>
 </bean>
© www.soinside.com 2019 - 2024. All rights reserved.