gpt4 book ai didi

java - Camel onException - 具有相同异常类但不同操作的路由

转载 作者:行者123 更新时间:2023-12-01 21:53:39 26 4
gpt4 key购买 nike

在单个 Camel 路由中,我有两个 url 调用,调用两个不同的应用程序。

to("http://datasource1/data)
//some process
to("http://datasource2/data)
//some process

两者都能够抛出UnKnowHostException。因此,如果 URL1 抛出异常,我必须处理并将交换主体设置为“数据源 1 不可用”,并且如果 URL2 抛出相同的异常,我想显示不同的消息。

如何使用onException处理这个问题

最佳答案

您可以使用onWhen。在每个请求之前以及使用不同的处理程序之后设置一些 header (在我的示例中为“httpDatasource”)。

    onException(UnKnowHostException.class).onWhen(header("httpDatasource").isEqualTo("1")).to("...");
onException(UnKnowHostException.class).onWhen(header("httpDatasource").isEqualTo("2")).to("...");

.....
setHeader("httpDatasource").constant("1")
to("http://datasource1/data)
//some process
setHeader("httpDatasource").constant("2")
to("http://datasource2/data)
//some process

关于java - Camel onException - 具有相同异常类但不同操作的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34763016/

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