解析终结点失败异常:使用终结点 DSL 创建终结点时"There are 1 parameters that couldn't be set on the endpoint."



我正在从 Camel 2 迁移到 Camel 3,我渴望使用此处描述的端点 DSL,但是我在迁移端点时遇到了问题。

我曾经有一个路由写入 RabbitMQ 队列,如下所示:

.toD("rabbitmq:$vhost?connectionFactory=#customConnectionFactory&queue=$responseQueueName&autoDelete=false&routingKey=$responseQueueName&bridgeEndpoint=true")

我迁移到哪个

.toD(
rabbitmq(vhost)
.connectionFactory(connectionFactory)
.queue(responseQueueName)
.autoDelete(false)
.routingKey(responseQueueName)
.bridgeEndpoint(true)

但是,在创建端点时,Camel还会添加无法设置为端点的hash参数,从而导致以下异常:

无法解析端点:rabbitmq://MYVHOST?autoDelete=false&bridgeEndpoint=true&hash=753a744c&queue=MYQUEUENAME&routetingKey=MYQUEUENAME,原因是:无法在端点上设置1个参数。检查 uri 参数拼写是否正确,以及它们是否是终结点的属性。未知参数=[{哈希=753a744c}]

我的端点语法是正确的,AFAIK,因为我使用的是在路由的from子句中以相同方式创建的端点。

事实证明,问题出在用toD指定的输出端点中,将其切换到常规to解决了这个问题。

相关内容

最新更新