2017-11-15 17 views
1

ここでも、それは簡単なことになって、私はドッキングウィンドウでRabbitMQのコンテナを実行しているとの問題を抱えていた私の以前のquestionでそれドッカーのrabbitmqでメッセージを送信するには?

についてのドキュメントを見つけることができませんでした。それは解決されているが、今もう一つは

コンテナがこのライン

docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 rabbitmq:3-management 

で作成された登場私は(base tutorialから)メッセージの送信が動作しているかチェックするために、単純なコンソールアプリケーションを作成しようとしていた。

var factory = new ConnectionFactory() 
{ 
    HostName = "localhost", 
    Port = 15672 
}; 

using (var connection = factory.CreateConnection()) 
{ 
    using (var channel = connection.CreateModel()) 
    { 
    channel.QueueDeclare("Test", false, false, false, null); 

    var mess = new RepMessage() 
    { 
     ConnectionString = "TestingString", 
     QueueID = 5 
    }; 

    var jsonified = JsonConvert.SerializeObject(mess); 
    var messBody = Encoding.UTF8.GetBytes(jsonified); 
    channel.BasicPublish("", "Test", null, messBody); 

    Console.WriteLine(string.Format("Message with ConStr={0}, QueueID={1} has been send", mess.ConnectionString, mess.QueueID)); 
    } 
} 

結果は機能しません。 私は何をしないのです、私はポートを削除する場合は、その後、私の内部例外がNo connection could be made because the target machine actively refused it 127.0.0.1:5672

に変換connection.start was never received, likely due to a network timeout

として例外None of the specified endpoints were reachableと内部例外を受け付けており、この例では、ドッキングウィンドウで動作するようになっていませんか?

+0

ああ...試してみた...それはうまくいった... jezz。答えとしてこれで喜んでいただけますか? –

答えて

5

ポート15672は、rabbitmq管理プラグインWebインターフェイスのポートです。ウサギにメッセージを送信するときは、別のポート(デフォルトでは5672)に接続する必要があります。そのポートに接続し、ドッカーで-p 5672:5672経由でマップするようにコードを変更してください。

関連する問題