16

2.8.2 RabbitMQサーバーと2.8.2クライアントdllがあり、キューを宣言してメッセージを取得するコードがあり、正しく機能します(すべてのパラメーターが正しい):

IModel channel=null;

ConnectionFactory factory = new ConnectionFactory ();
factory.HostName = "192.168.68.4";
_QueueName = "172.16.1.1";

factory.UserName = "guest";
factory.Password = "guest";
factory.VirtualHost = "/";

factory.RequestedHeartbeat = 30;

if (factory.Endpoint == null) {
    Console.WriteLine (" factory.Endpoint==null ");
}


// 接受消息的队列名称是本地的IP地址
_QueueName = "172.16.1.1";
_RMQConnection = factory.CreateConnection ();

Console.WriteLine ("factory.CreateConnection()");

channel = _RMQConnection.CreateModel ();

channel.QueueDeclare(_QueueName, false, false,false,null);

しかし、3.0.1 RabbitMQサーバーと3.0.1クライアントdllをダウンロードすると、同じコードを使用し、例外が発生します。

AMQP操作が中断されました:AMQP close-reason、Peerによって開始、code = 406、text ="PRECONDITION_FAILED-vhost'/'のキュー'172.16.1.1'のパラメーターは同等ではありません"、classId = 50、methodId = 10、原因==

4

1 に答える 1

38

通常、別のパラメーターを使用して既存のキューを再宣言すると、そのエラー メッセージが表示されます。管理コンソールをチェックインして、キューが既に存在するかどうかを確認します。存在する場合は、それを削除してから、コードを再実行してみてください。

于 2013-01-21T09:50:19.847 に答える