Java 无连接缓存的Apache Camel http路由
我需要Apache Camel停止缓存HTTP连接上的信息,因为它会阻止F5负载平衡器正常工作 这是路线定义:Java 无连接缓存的Apache Camel http路由,java,http,routing,apache-camel,Java,Http,Routing,Apache Camel,我需要Apache Camel停止缓存HTTP连接上的信息,因为它会阻止F5负载平衡器正常工作 这是路线定义: from("direct:source").to("http://www.destination.com?bridgeEndpoint=true&throwExceptionOnFailure=false"); 情况是,我有两个进程运行驼峰路由并消耗流量。然后,这两个进程将所有流量转发到负载平衡器地址,然后负载平衡器地址将在4台服务器之间统一平衡流量。目前,Camel克服了负
from("direct:source").to("http://www.destination.com?bridgeEndpoint=true&throwExceptionOnFailure=false");
情况是,我有两个进程运行驼峰路由并消耗流量。然后,这两个进程将所有流量转发到负载平衡器地址,然后负载平衡器地址将在4台服务器之间统一平衡流量。目前,Camel克服了负载平衡器的缺点,将所有流量直接定向到4台服务器中的2台。其他两台服务器保持空闲。我确信这不是负载平衡器的问题。您是否尝试过在http头上设置
Connection: Close
通知http客户端关闭连接
您也可以从Camel进行设置
from aaa
.setHeader("Connection", constant("Close"))
.to bbb
我一直在尝试各种配置。我发现解决问题的方法如下:
<bean id="http" class="org.apache.camel.component.http.HttpComponent">
<property name="camelContext" ref="camel"/>
<property name="httpConnectionManager" ref="httpConnectionManager"/>
</bean>
<bean id="httpConnectionManager" class="org.apache.commons.httpclient.SimpleHttpConnectionManager">
<constructor-arg index="0" value="true"/>
</bean>
SimpleHttpConnectionManager有一个带有布尔“AlwasCyclose”的构造函数,该构造函数执行此任务