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

来自seda的Camel路由不是路由到Kafka目标endpoint

卢承弼
2023-03-14

我有一个简单的骆驼路线,从Kafka的主题消费。做一些处理并写回另一个Kafka主题。

from("kafka:<source endpoint details>")
            .routeId("FromKafka")
            .log("@@@@@@@@:  ${body}")
            .to("seda:myseda?waitForTaskToComplete=Never");`

from("seda:myseda")
            .routeId("sedaRoute")
            .process(myprocessor)
            .to("kafka:<destination endpoint details>"
from("kafka:<source endpoint details>")
            .routeId("FromKafka")
            .log("@@@@@@@@:  ${body}")
            .to("direct:mydirect");`

from("direct:mydirect")
            .routeId("sedaRoute")
            .process(myprocessor)
            .to("kafka:<destination endpoint details>"

我怀疑Kafka可能是一个请求-应答交换,响应被反馈给源endpoint。因此尝试向Seda添加“waitfortasktoComplete=Never”。但没有成功。

任何帮助都将不胜感激。

共有1个答案

卢开济
2023-03-14

以防你的Kafka消费者和生产者的主题是不同的。默认情况下,Apache camel也为生产者保留消费者头。要避免这种情况,请使用have更新kafka headers主题。我们可以使用bridgeEndpoint选项为生产者。如果该选项为true,那么KafkaProducer将忽略入站消息的KafkaConstants.Topic头设置。或者你可以直接为生产者设置kafkaconstants.topic的标题。

这种情况只发生在seda路线上。与直达路线配合非常好

 类似资料:
  • 我试图通过Apache Camel将一些xml数据发布到SOAP API。请参阅下面的Camel路由。我在这里尝试的是在c:/input中读取xml文件,并将其内容发送到托管在我的Tomcat(本地主机:8080/myservice/soapws)上的SOAP API。这里可以使用Camel的HTTP组件吗?Camel中是否有其他组件可用于路由到SOAP API。我是骆驼新手。请帮忙

  • 我正在尝试使用Spring Boot 1.5.2.Release+Camel(Spring Boot starter)2.19.2来监听ActiveMQ队列,然后将消息发布到restendpointURL(post方法)作为其主体。实现这一目标的最佳途径是什么?我收集了一些信息,并试图将其联系在一起,但却有点困惑。 以下是我为Camel Rest DSL收集的内容,我不太确定下面的Camel是通过

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路

  • 我在做一些关于Camel-CXf集成的研究,对下面的场景感到困惑。 所以我实现了一个Restendpoint 实现如下 } 路线 将其路由到实现中。但是由于实现返回一个响应对象,我不知道如何绕过这个对象构建路由。 一旦调用进入实现,我如何执行其他路由并发送回响应?在这种情况下,实现返回一个自定义对象。 其他路由如何附加到 CXF 路由? 我的 CXF 实现是否应该始终返回无效类型?如我所见,要访问

  • 我正在使用camel和camel-restlet组件来路由RESTFul web服务。我的路由配置如下所示: 我有一些输入路由配置,比如:

  • 我一直试图使用2.12.1-snapshot中的RabbitMQComponent版本让camel进行路由。这样做,我可以很容易地消费,但在路由到另一个队列时会遇到ad问题。 在这篇文章中,我已经验证了指定的交换机是否配置了适当的路由密钥。我注意到,我能够大量消费,但不能生产到out.queue。 以下是对处理消息的RabbitMQProducer的唯一引用。 我花了很多时间研究了RabbitMQ