HttpConnectionManagerParams不适用于HTTPS URL

时间:2019-03-12 05:44:35

标签: java apache-camel java-ee-6 camel-http

我们使用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 url进行其他配置?

1 个答案:

答案 0 :(得分:0)

在豆子下面添加可以解决我的问题。 同意在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>