Apache Qpid JavaブローカーのM4リリースをWindowsのボックスにインストールし、すぐに使用できるように(qpid-server経由で) .batスクリプト)。RabbitMQ C#クライアントがApache Qpidに話をしていないJava Broker
私は現在、RabbitMQ C#クライアントライブラリ(.NET 3.0向けにコンパイルされたバージョン1.5.3)を使用してキューにメッセージを公開しようとしています。私のコードは次のとおりです。基本的に
public void PublishMessage(string message)
{
ConnectionFactory factory = new ConnectionFactory();
factory.Parameters.VirtualHost = "...";
IProtocol protocol = Protocols.FromEnvironment();
using (IConnection conn = factory.CreateConnection(protocol, "localhost", 5672))
{
using (IModel ch = conn.CreateModel())
{
string exchange = "...";
string routingKey = "...";
ch.BasicPublish(exchange, routingKey, null, Encoding.UTF8.GetBytes(message));
}
}
}
、私はfactory.Parameters.VirtualHost
と文字列exchange
とroutingKey
に使用する値が不明です。私は様々な組み合わせを試してみたが、何も動いていないようにみえ - 私が持っている最も近いQpidサーバログに次のように見ている:
2009-03-19 17:11:04,248 WARN [pool-1-thread-1] queue.IncomingMessage (IncomingMessage.java:198) - MESSAGE DISCARDED: No routes for message - Message[(HC:896033 ID:1 Ref:1)]: 1; ref count: 1
Qpidサーバーがメッセージを受信しているかのように見えたが、doesnのそれをどうしたらいいのか分かりません。
クライアントコードに必要な設定値についてのアドバイス(私はvirtualhosts.xmlのデフォルトQpid設定を使用しています)を高く評価します。仮想ホスト、交換、キュー、ルーティングキーに関する一般的な情報と、Qpidがこれらをすべてリンクする方法も非常に便利です。
は参考のために、事前に
アラン