Apache Camel Http4 连接超时设置

3

需求是设置http端点的连接超时时间。我正在使用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个回答

1

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

http4://<url>?connectTimeout=3000

0
原来文档并不完全正确。请参考this question以获取更多细节。超时参数可以通过查询参数选项进行设置,但需要加上前缀httpClient。以下是我成功使用的代码:
?httpClient.connectTimeout=10000&httpClient.connectionRequestTimeout=10000&httpClient.socketTimeout=30000

我通过使用非常小的值(1毫秒)进行测试来验证,结果出现了“读取超时”错误。

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


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接