0

我们使用 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 额外配置一些东西?

4

1 回答 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>
于 2019-04-16T10:21:28.360 回答