HttpConnectionManagerParams 不适用于 HTTPS URL

HttpConnectionManagerParams not working for HTTPS URL

我们使用 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时生效,相同配置无效,默认HttpConnectionManager在端点通过HTTPS时生效。

是否需要为 HTTPS url 额外配置一些内容?

添加以下 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>