rabbitmq - ResolveEndpointFailedException:“有 1 个参数无法在端点上设置。” 使用端点 DSL 创建端点时
问题描述
我正在从 Camel 2 迁移到 Camel 3,我渴望使用此处描述的 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)
但是,Camel在创建endpoint的时候,还添加了一个hash
不能设置到endpoint的参数,导致出现如下异常:
无法解析端点:rabbitmq://MYVHOST?autoDelete=false&bridgeEndpoint=true&hash=753a744c&queue=MYQUEUENAME&routingKey=MYQUEUENAME 由于:有 1 个参数无法在端点上设置。如果参数拼写正确并且它们是端点的属性,请检查 uri。未知参数=[{hash=753a744c}]
我的端点语法是正确的,AFAIK,因为我使用的是在from
我的路由子句中以相同方式创建的端点。
解决方案
原来问题出在用 指定的输出端点中toD
,将其切换为常规to
解决了该问题。
推荐阅读
- docker - 弹性连接错误-> Elasticsearch 6 + Kibana + Docker Compose
- javascript - 如何连接此代码?我试过这样做,但我没有运气
- java - java用户界面调用python函数?
- mysql - MySql 服务不会启动 [ubuntu]
- javascript - 带撇号的正则表达式单词搜索
- excel - AVERAGEIF() 语句中的上限值
- tensorflow - Keras 的 CNN 培训冻结
- javascript - 在 C/C++ 和 javascript 应用程序之间共享大浮点数组
- javascript - 提示用户输入,感谢他们输入 Javascript
- mysql - SQL Fiddle - 无法添加外键约束