我正在从骆驼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
子句中以相同方式创建的端点。
答案 0 :(得分:0)
发现问题出在使用toD
指定输出端点,将其切换为常规to
解决了该问题。