使用的RabbitMQ與節點的集羣的主機,我建立了我廠與這樣的連接(使用.NET客戶端):怎麼看我們連接到
var factory = new ConnectionFactory()
{
UserName = Properties.Settings.Default.RabbitMQUser,
Password = Properties.Settings.Default.RabbitMQPassword,
HostnameSelector = new RandomHostNameSelector(),
AutomaticRecoveryEnabled = true
};
connection = factory.CreateConnection(Properties.Settings.Default.RabbitMQServers.Split(';'));
哪裏Properties.Settings.Default.RabbitMQServers
是使用半冒號分隔的服務器列表:
clust01;clust02;clust03
連接後,有沒有辦法看到這主機實際上採摘,是有辦法來檢測時可能會改變(因爲特定節點崩潰,停止,或重新啓動)? factory.HostName
只是返回localhost
。
編輯:看來connection.Endpoint.HostName
確實給你實際的主機名@Evk和@wally都有說明(謝謝)。但是有沒有辦法檢測到變化?看起來IConnection有一個ConnectionShutdown
事件,其中我猜可能被稱爲切換主機的一部分,但沒有相應的啓動或重新啓動事件(所以我假設它不會知道新的主機) 。也有ConnectionBlocked
和ConnectionUnblocked
事件,但他們沒有記錄,所以我不知道他們在做什麼...
我想connection.Endpoint.HostName包含你想要的? – Evk
@Evk - 當我輸入自己的回覆時發佈。我認爲你有正確的答案 - 但我無法測試它。 – wally