我正在使用 Apache Camel 路由进行 HTTP 调用。如果主机系统有延迟,我想添加超时。 我正在使用以下配置,但它不起作用。客户端请求超时而未等待主机系统超时。客户端超时在 CXF 中配置,但 Camel 超时在 Camel 路由中配置。它应该在 4 秒内超时,并且应该进入错误处理器,但它没有发生。
HTTP
<setHeader headerName="CamelHttpQuery">
<constant>httpclient.soTimeout=4000&bridgeEndpoint=true&throwExceptionOnFailure=false</constant>
<setHeader>
HTTP4
<setHeader headerName="CamelHttpQuery"><constant>httpclient.socketTimout=4000&bridgeEndpoint=true&throwExceptionOnFailure=false</constant>
<setHeader>
谢谢
最佳答案
请注意语法。正确拼写
httpClient.socketTimeout=4000&bridgeEndpoint=true&throwExceptionOnFailure=false
但是即使修改了参数也不起作用。您无需配置 http 端点,而是将参数作为请求的查询字符串发送到服务器。要设置端点,只需向其添加参数并使用 CamelHttpQuery header 作为请求参数。
关于java - Apache Camel HTTP 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60173060/