apache camel http4 connectionTimeout

时间:2018-01-05 10:13:49

标签: apache-camel

要求是为http端点设置connectionTimeout。我正在使用http4组件和http协议。 httpClient.connectTimeout适用于https而不适用于http。

http4://<url>?keepAlive=true&httpClientMinThreads=10&httpClientMaxThreads=200&sync=true&throwExceptionOnFailure=false&bridgeEndpoint=true&httpClient.connectTimeout=1000

并尝试在http4组件bean中设置connectionTimeToLive = 1参数,但它无法正常工作。

我发现socketTimeout参数正常。但要求是设置connectionTimeout。

请建议有没有办法设置connectionTimeout参数。

3 个答案:

答案 0 :(得分:0)

只需从您的参数中删除“ httpClient”部分。

http4://<url>?connectTimeout=3000

答案 1 :(得分:0)

请参考此处的文档: https://camel.apache.org/http4.html

您可能需要使用bridgeEndpoint=true来允许正确的重定向。

答案 2 :(得分:0)

事实证明文档不太正确。有关详细信息,请参阅 this question。超时参数可以通过查询参数选项设置,但它们需要以 httpClient. 为前缀。以下是对我有用的方法:

?httpClient.connectTimeout=10000&httpClient.connectionRequestTimeout=10000&httpClient.socketTimeout=30000

我通过使用小得离谱的值(1 毫秒)进行测试验证,结果产生了“读取超时”错误。

看起来 httpClient 的可用选项是 RequestConfig.Builder 上的 setter 值。