我想在servlet路由上设置超时。
public class MyCamelRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
restConfiguration()
.component("servlet")
.enableCORS(true)
.contextPath("/")
.bindingMode(RestBindingMode.json);
onException(IOException.class)
.handled(true)
.process(bean:handleProcess);
rest("/get").get(/user).to("direct:getusers");
from("direct:getusers")
.prpcess(bean:exchangeProcess)
.to("http4:xx:8080/getuser?httpClient.connectTimeout=1000&bridgeEndpoint=true")
.process(xxx)
.to(xxxx)....
;
[如果有人致电GET ../ get / user花费的时间太长,则此服务将自行取消请求。例如连接超时和返回超时异常,请分配状态代码504。
我不知道该怎么做,或者我可以使用或更改的任何选项。
有人可以帮我这个忙吗?谢谢!
您已经使用httpClient.connectTimeout=1000
,尝试将httpClient.soTimeout=100
添加到URI中以使请求超时(套接字超时)为100ms
如果超时,底层的httpClient可能会抛出一个异常,您可以使用Camel Exception子句来处理。
onException(WhateverExceptionOccursOnTimeout.class)...
您可以尝试添加这些。
connectionRequestTimeout
connectTimeout
[https://camel.apache.org/components/2.x/http4-component.html][1]