当前位置: 首页 > 知识库问答 >
问题:

如何在Java DSL路由中使用apache Camel在try catch block中使用choice

太叔豪
2023-03-14

如何在Java DSL路由中使用Apache Camel在try catch block中使用choice?

我的情况是,我需要以下结构:

路线--

到目前为止,我尝试了以下几行:

    .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")

但是我在docatch()

你能建议用JavaDSL在try catch块中使用“选择”的方法吗?

共有1个答案

严正诚
2023-03-14

试试这个。这应该管用

.doTry()
    .choice()
      .when(header("CamelFileName").contains("xxxxx"))
        .to()
      .otherwise()
        .to("controlbus:route?routeId=XXXX&action=stop")
.endDoTry()
.doCatch(java.lang.Exception.class)
.log("STOPPING ROUTE")
.to("controlbus:route?routeId=XXXX&action=stop&async=true")
 类似资料:
  • 问题内容: 我在Socket.io中使用Express,但我不知道如何在Express路由中使用SocKet.io。 我最终在“ app.js”中这样做 我该如何定义到“ / cmp”的路由,并在其中传递var“ io”? 这样,在“ /routes/cmp.js”中,我可以执行以下操作: 一些线索? 问题答案: 高阶函数呢? 然后 作为另一种选择,有时我会将路线的格式设置为以下格式: 然后定义为

  • 问题内容: 因此,我开始使用Node.js。我在Nodejs.org上与Ryan Dahl一起观看了视频,听说他向网站推荐了Express-js。 我下载了最新版本的Express,并开始编写代码。我在/上有一个完整的静态视图,但是一旦尝试发送参数,就会收到如下错误: 我尝试按照expressjs.com上的指南进行操作,但是在最新版本中,使用路由的方式已更改,这使该指南无法使用。 指南: 由Ex

  • 问题内容: 我已经安装了Apache服务器,并且正在通过mod_wsgi处理Flask响应。我已经通过别名注册了WSGI脚本: [httpd.conf] 我在上面的路径中添加了相应的WSGI文件: [/mnt/www/wsgi-scripts/service.wsgi] 我有一个简单的Flask Python测试脚本,提供了服务模块: [/mnt/www/wsgi-scripts/service.

  • 问题内容: 如何在路线中指定通配符- 因此,以上内容适用于/ admin / users和/ admin / users / 1或/ admin / org / 3。因此,管理后可能会有一两个级别的路径。我该怎么做 ? 问题答案: 当前,AngularJS不支持路由中的正则表达式。 您可以按照以下方法解决 http://plnkr.co/edit/tBumW2oEqki2sEl1hjSc?p=pr

  • 截至2015年的Apache Camel 2.16.3,所有。beanRef Java DSL routebuilder方法已被弃用。 不幸的是,即使是在2017年,官方的Camel文件仍然表示要使用不推荐的。beanRef方法。而API说要使用。豆子(…)方法,所有这些方法都会实例化bean的新版本,或者期望传入现有版本。 我的问题是,我如何在Spring框架中使用这些方法在JavaDSL路由中

  • 我有一个必须异步使用的路由,我使用一个直接组件将其作为别名引用。 该路线必须由以下人员消耗: 我希望每个使用者路由异步地请求1000x的模拟内容,但是,现在,它是同步的,如下所示: