gpt4 book ai didi

java - Camel jetty 延续异常

转载 作者:行者123 更新时间:2023-11-29 08:51:36 27 4
gpt4 key购买 nike

我正在通过 activemq 触发 inout 交换到执行慢速 SQL 查询的路由。 jetty servlet 超时:

警告 org.apache.camel.component.jetty.CamelContinuationServlet - exchangeId 的延续已过期:ID-wsintc01-40254-1395419854072-0-3

我已经尝试了所有我能想到的 useContinuation 和 continuationTimout 变体,但我仍然遇到 503 错误。

当查询完成后,我得到:

QueueReplyManager[x]] WARN org.apache.camel.component.jetty.CamelContinuationServlet - 无法恢复 exchangeId 的过期延续:ID-wsintc01-40254-1395419854072-0-3

这是集成路由集中的路由:

<route>
<from uri="jetty:http://0.0.0.0:{{jetty.port}}/fetch_schedules?continuationTimeout={{jetty.continuationTimeout}}"/>
<setExchangePattern pattern="InOut"/>
<to uri="activemq:scheduler:getTVA?disableTimeToLive=true&amp;requestTimeout={{scheduler.timeout}}&amp;replyTo={{me.replyQueue}}&amp;replyToType=Exclusive"/>
<to uri="velocity:view.vm"/>
<setHeader headerName="Content-Type">
<constant>text/html;</constant>
</setHeader>
</route>

调度器中的路由只调用一个 java bean,它对数据库进行多个 sql 查询并构建一个 XML 文档。

最佳答案

只要 activemq 响应花费的时间超过 jetty 路由上的 continuationTimeout,jetty 就会关闭连接并返回 503。

我建议将 activemq 上的 requestTimeout 选项和 jetty 路线上的 continuationTimeout 设置为相同的值,或者使 continuationTimeout 更长或无限大 (0)。

关于java - Camel jetty 延续异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22564666/

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