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

在骆驼路线内重新编组原虫

丌官高远
2023-03-14
    <route id="Splitter">
        <from uri="activemq:notification.splitter" />
        <unmarshal ref="notificationProto" />
        <recipientList>
            <method bean="NotificationSplitter" method="splitNotification" />
        </recipientList>
    </route>

豆子工作良好,但下游的路线抱怨:-

org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Unable to find proto buffer class

下游路由的protobuf dataFormat配置与上面的路由完全相同。如果我直接路由到下游队列(即,绕过bean并硬编码“to”队列),这意味着我也可以跳过解组步骤,它工作得很好。

我想我需要在Camel将消息放入目标队列之前重新封送数据,但我不知道如何在XML中配置这一点。我试着简单地加上...

<marshal ref="notificationProto" />

J.

共有1个答案

史钊
2023-03-14

是的,数据格式不是一个易于向其发送消息的endpoint,否则,您可以使用路由滑EIP模式,将消息首先发送到数据格式,然后发送到目的地。http://camel.apache.org/routing-slip.html

虽然你可以有一条小路线

<route>
  <from uri="direct:marshalMe"/>
  <marshal ref="notificationProto" />
</route>

然后使用路由单,设置为“direct:marshalme,whereyouwannagonext”。

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

  • 我的Apache骆驼项目开始有一个相当好的结构,但我陷入了困境,因为我的routeContext中的路由无限执行。我的所有路由都使用SQL组件,我希望所有路由只执行一次。 我发现,当我的routeContext中有两条路由时,两条路由都只执行一次,但是一旦我添加了第三条路由(不管第三条路由是什么),camel就开始无限执行所有路由。我所有的路由都导致sql插入,因此相同的路由运行多次会导致重复键错

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

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

  • 嗨,我在camel中有一个JMS消费者路由,我的要求是在特定事件时停止/暂停该路由(基于某个字段值),然后使用调度器恢复该路由。为此,我创建了两个路由,一个是我的原始jms消费者路由,另一个是调度程序路由,它们恢复jms消费者路由,虽然我能够暂停路由,但第二个路由不恢复暂停的路由,它显示的状态为已启动。 以下是我的两条路线 请帮助我如何实现上述场景。

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