小编San*_*mar的帖子

如何在带有 Java DSL 的路由中使用 apache Camel 在 try catch 块中使用选择

如何在 Java DSL 路由中使用 Apache Camel 在 try catch 块中使用选择?

我有一种情况,我需要以下结构:

路线-->来自--> doTry-->选择-->何时-->简单-->到-->否则-->到-->enddoTry-->docatch-->到-->enddocatch- ->结束路线

截至目前,我尝试了以下几行:

    .doTry()
    .choice()
    .when(header("CamelFileName").contains("xxxxx"))
    .to()
    .otherwise().to("controlbus:route?routeId=XXXX&action=stop")
    .doCatch(java.lang.Exception.class)
    .log("STOPPING ROUTE")
    .to("controlbus:route?routeId=XXXX&action=stop&async=true")
Run Code Online (Sandbox Code Playgroud)

但我收到“找不到符号”错误docatch()

您能否建议在 Java DSL 的 try catch 块中使用“选择”的方法?

apache-camel

2
推荐指数
1
解决办法
3639
查看次数

Apache Camel 更新交换属性

我需要一些有关更新 Apache Camel 中的交换属性的帮助。

用例:我有一个从 API 端点获取一些 Id 的路由,之后我需要从另一个端点获取每个 id 的信息。

我需要将响应保存在某处,以便稍后创建一些 JSON 数组。

有人可以给我一些具有类似用例的工作路线,或者只是为我指出正确的方向吗?

示例路线

from("direct:getIds") .setProperty("ValueToUpdate").constant("") 
.to("endpontWhichReturns ids")
.split().jsonpath("$.Data") .log("${property.xrefCode}") 
.toD("getInfoById) .log("${body}") 
.choice() .when(header("CamelHttpResponseCode").isEqualTo("200")) 
.setProperty("body").body() 
.setProperty("updateBody",method("PrepareUpdate","prepare")) 
.aggregate(property("ValueToUpdate"), new Aggreagation()) 
.to("direct:someEndpoint") .end() .to("mock:nestdo11");
Run Code Online (Sandbox Code Playgroud)

apache exchange-server properties apache-camel

2
推荐指数
1
解决办法
4440
查看次数