2014-09-23 33 views
0

我正在玩兔子,並試圖發佈消息到現有的隊列。 不幸的是,兔子文檔內容對於消費者創建而言是snipent,但不適用於produser。 因此,例如,當我嘗試綁定到一些交流,它拋出一個錯誤如何發佈消息到現有的交易所

PRECONDITION_FAILED - cannot redeclare exchange 'test' in vhost '/' with different type, durable, internal or autodelete value 

代碼:

conn = Bunny.new() 
conn.start 
ch = conn.create_channel 
x = ch.direct("test") 

你知道爲什麼它試圖重新聲明。

也許我需要先綁定一個隊列?

感謝您的任何幫助。

回答

2

錯誤消息告訴你,你試圖重新聲明一個交換,但你改變了它的一些參數。

如果您只是測試,然後刪除交換並重新運行您的腳本。

我們還擁有了一系列教程,在這裏:http://www.rabbitmq.com/getstarted.html

0

我碰到這個問題了。如果您已經在RabbitMQ中設置了交換。確保您將交易所綁定到您的隊列。您可以在RabbitMQ管理員或通過命令行使用rabbitmqctl命令執行此操作。

接下來,驗證您使用的交易是「直接」交易。默認情況下,當在RabbitMQ管理中創建交換時,它將生成「主題」交換。在您確認它們相同之後,您不應該收到錯誤消息。

相關問題