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>
我们使用 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>