【发布时间】:2014-12-15 05:20:53
【问题描述】:
我希望有人可以在这个问题上提供一些帮助。
我正在使用骆驼rabbitmq,出于测试目的,我试图向队列发送一条消息,我试图在rabbitmq界面中显示该消息,然后将其读回。
但是我不能让它工作。
我认为可行的是,我在 rabbitmq 管理界面的交换选项卡中创建了一个新的交换。 在我的 java 代码中,我将消息发送到该交换。执行代码时,我可以在 Web 界面中看到一个峰值,表明已收到某些内容,但我看不到已收到的内容。 当我尝试阅读时,我无法阅读并收到以下错误:
有人可以提供一个关于如何发送消息、在网络界面中查看并阅读的实际示例吗?任何显示此过程的教程也将不胜感激。
谢谢
================= 第二部分
我现在遇到的错误如下:
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; reason: {#method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - cannot redeclare exchange 'rhSearchExchange' in vhost '/' with different type, durable, internal or autodelete value, class-id=40, method-id=10), null, ""}
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:33)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:343)
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:216)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
... 47 more
我有以下设置:
我收到此错误,我认为我的 URI 有问题,我必须定义一些我缺少的额外参数 我的交换是直接类型的 我的队列是持久型 我的 uri 是: rabbitmq://192.168.59.105:5672/rhSearchExchange?username=guest&password=guest&routingKey=rhSearchQueue
对此有何意见?
谢谢
【问题讨论】:
-
对此有何建议?
-
我一直在寻找类似的教程...我可以将消息发布到交易所,但我不能从骆驼中消费它们。但是,对于您的错误,我认为问题在于您没有将消息路由到任何地方。例如,我相信您的配置是
from("rabbitmq:localhost...");但它应该是from("rabbitmq:localhost:...").to("foo:bar")foo:bar可能类似于mock:result -
感谢您的回复。我知道我必须使用“to”来流式传输/保存它。我已经更新了我的线程以显示我现在遇到的错误。如果有人对如何解决这个问题有任何建议。
-
请从第二部分开始阅读,因为这是我现在遇到的错误
标签: java spring apache-camel rabbitmq