rabbitmq坑點與異常處理
來源:http://www.cnblogs.com/gossip/p/4573056.html
一、None of the specified endpoints were reachable 這個異常在建立連線時丟擲(CreateConnection()),原因一般是ConnectionFactory引數設定不對,比如HostName、UserName、Password 標準設定: var factory = new ConnectionFactory(); factory.UserName = QueueSetttiong.UserName; //使用者名稱 factory.Password = QueueSetttiong.Password; //密碼 factory.HostName = QueueSetttiong.HostName; //Rabbitmq服務IP,不包含埠另外一個可能的原因:未設定VirtualHost的許可權
設定方法:RabbitmqWeb管理網站-->Admin
未設定許可權時:
設定許可權:(點選admin進入設定頁面)
網上說要修改主機名,找半天不知道怎麼修改,重新安裝Rabbitmq服務端即可,有時候需要重啟
三、異常:Message:Already closed: The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=320, text="CONNECTION_FORCED - broker forced connection closure with reason 'shutdown'", classId=0, methodId=0, cause= StackTrace
原因:佇列服務端重啟後,佇列釋出端斷開了介面,無法再次傳送訊息
解決:傳送端設定斷開連線後自動啟動屬性,預設為斷開後每隔五秒鐘重試連線
var factory = new ConnectionFactory();
factory.AutomaticRecoveryEnabled = true; //設定埠後自動恢復連線屬性即可
四、Rabbitmq實際資料檔案、日誌檔案、配置檔案路徑
位址列輸入:%APPDATA%\RabbitMQ\
C:\Users\Administrator\AppData\Roaming\RabbitMQ
資訊來源:C:\Program Files (x86)\RabbitMQ Server\rabbitmq_server-3.5.1\etc 中的README.txt