gpt4 book ai didi

java - 线程中的 Camel http4 路由超时

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:20 26 4
gpt4 key购买 nike

我想使用 http4 路由,但让它在超时的线程内执行。我已经设置了 http4 路由,如下所示:

from("direct:start")
.setHeader(Exchange.HTTP_QUERY,simple("format=json&count=${in.headers.count}"))
.to("http4://www.host.com/someapi")
.unmarshal().json(JsonLibrary.JACKSON,MyResponseType.class)
.to("bean:SomeBean?method=echo");

我想在 http 调用周围应用 100 毫秒超时,并在这种情况下路由到故障处理程序。有谁知道如何做到这一点?

最佳答案

您可以通过指定 http4://foo?httpClient.soTimeout=100 在客户端上设置 100 毫秒的超时。当发生超时时,它可能会抛出一个异常,您可以像这样处理(我想不到,未经测试的代码):

onException(IOException.class).to("direct:timeouts");

from("direct:start")
.setHeader(Exchange.HTTP_QUERY,simple("format=json&count=${in.headers.count}"))
.to("http4://www.host.com/someapi?httpClient.soTimeout=100")
.unmarshal().json(JsonLibrary.JACKSON,MyResponseType.class)
.to("bean:SomeBean?method=echo");

from("direct:timeouts").to("...");

关于java - 线程中的 Camel http4 路由超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6712431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com