Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无连接缓存的Apache Camel http路由_Java_Http_Routing_Apache Camel - Fatal编程技术网

Java 无连接缓存的Apache Camel http路由

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克服了负

我需要Apache Camel停止缓存HTTP连接上的信息,因为它会阻止F5负载平衡器正常工作

这是路线定义:

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”的构造函数,该构造函数执行此任务