ResolveEndpointFailedException:“无法在端点上设置1个参数。”使用端点DSL创建端点时

时间:2019-12-16 17:40:55

标签: rabbitmq apache-camel

我正在从骆驼2迁移到骆驼3,我渴望使用here中描述的Endpoint 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)

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

  

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

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

1 个答案:

答案 0 :(得分:0)

发现问题出在使用toD指定输出端点,将其切换为常规to解决了该问题。