首页 文章

来自seda的Camel路由未路由到Kafka目标 endpoints

提问于
浏览
0

我有一个简单的骆驼路线,它从 Kafka 话题中消耗 . 是否有一些处理并写回另一个kafka主题 .

我需要在两者之间做一些处理 . 我在路线中使用了seda,这样kafka消费者就不会在处理过程中被阻止 .

但是在处理之后,Camel将消息路由回源kafka endpoints 而不是目标 endpoints .

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

输出有效负载再次放入源kafka主题中 . 如果我只是直接替换seda,它就可以正常工作 .

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可能是一个请求 - 回复交换,并且响应被返回给源 endpoints . 因此尝试将“ waitForTaskToComplete=Never ”添加到seda . 但没有成功 .

任何帮助都感激不尽 .

1 回答

  • 0

    我认为你需要将交换模式设置为“仅限于” . 像这样:

    .to(ExchangePattern.InOnly,"seda:myseda")
    

相关问题