要求是为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参数。
答案 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 值。