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

在JavaDSL中为apache骆驼路线编写自定义方法

叶富
2023-03-14

我可以在Camel中编写自己的处理器定义方法并在我的路由中使用它吗?

from(uri)
.to("http://host:port/testData")
.**setTimeOut(long milliseconds)**

from在Route定义中实现,to在Processor定义中实现。就像这样,如果我想实现setTimeOut方法并在java DSL中使用它,我该怎么做?

PS:我不想将超时作为Httpclient查询参数传递给HttpUri。

有人能帮忙吗?

共有1个答案

南宫泓
2023-03-14

不,你不能这么做。

您可以从Java DSL中使用的方法/EIP是固定的。要扩展它,需要扩展RouteBuilder,它允许在新的启动方法中添加新方法。您不能将可以与一起工作的设置超时添加到等。

您需要将代码添加到camel-core中,并重新编译它,这是不推荐的。

但是,您可以实现一个处理器,然后将其命名为setTimeout,然后使用. Process

Processor setTimeout = new MySetTimeout(1000);

from
  .to
  .process(setTimeout);

然后将其用作中的处理器。处理方法。

 类似资料:
  • 我有一个Springboot应用程序,其中配置了一些驼峰路线。 我想测试从到的路由。我试过这里提到的不同东西http://camel.apache.org/camel-test.html,但似乎无法让它工作。 我正在尝试这样做: 但是我的ProducerTemplate总是。我尝试了自动连接CamelContext,但遇到一个异常,它无法解析CamelContext。但这可以通过添加到类。但是我的

  • 豆子工作良好,但下游的路线抱怨:- 下游路由的protobuf dataFormat配置与上面的路由完全相同。如果我直接路由到下游队列(即,绕过bean并硬编码“to”队列),这意味着我也可以跳过解组步骤,它工作得很好。 我想我需要在Camel将消息放入目标队列之前重新封送数据,但我不知道如何在XML中配置这一点。我试着简单地加上... J.

  • 问题内容: 我一直在仔细研究Apache Camel文档,试图对它的两个 最基本 概念(端点和路由)有一个具体的了解,尽管这些术语在文档中各处都使用,但是我找不到真正定义它们的参考。是以及它们的用途。尽管它们的名称听起来很明显,而且我 想 我理解它们的含义,但是现在我已被分配到一项使我深深陷入Apache Camel Land的任务,而了解这些机制的绝对至关重要是。 我的猜测是,“端点”只是一个b

  • 我试图在代码中使用camel quarkus jdbc,但收到一个错误: msgstr"无法解析endpoint: jdbc://camel,原因是:在注册表中找不到bean: camel的类型:javax.sql.DataSource" 互联网上关于这方面的信息不多。这是官方文件,没有太多描述:https://camel.apache.org/camel-quarkus/latest/refer

  • 问题内容: 我尝试对Apache骆驼路线进行junit测试。像这样的东西: 构建器类的定义如下 “ myExportRouteProcessor”类仅从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。当前,处理器未启动。我该怎么办? 问题答案: 您可以使用AdviceWithRouteBuilder#replaceFromWith直接替换测

  • 我试着为阿帕奇骆驼路线做一个jUnit测试。类似于这样: builder类的定义如下 myExportRouteProcencer类只是从JPA存储库中获取一些数据,并将结果放入路由。我想要的是在测试类中触发此路由,以检查整个过程是否正确完成。目前,处理器没有被触发。我应该做些什么?