我们使用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网址配置的内容?
添加以下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>