第4章 例
この章では、サンプルプログラムで AMQ .NET を使用する方法について説明します。
その他の例は、AMQ .NET サンプルスイート および AMQP.Net Lite サンプル を参照してください。
4.1. メッセージの送信
このクライアントプログラムは <connection-url>
を使用してサーバーに接続し、ターゲット <address>
の送信者を作成し、<message-body>
を含むメッセージを送信し、接続を切断して終了します。
例: メッセージの送信
namespace SimpleSend { using System; using Amqp; 1 class SimpleSend { static void Main(string[] args) { string url = (args.Length > 0) ? args[0] : 2 "amqp://guest:guest@127.0.0.1:5672"; string target = (args.Length > 1) ? args[1] : "examples"; 3 int count = (args.Length > 2) ? Convert.ToInt32(args[2]) : 10; 4 Address peerAddr = new Address(url); 5 Connection connection = new Connection(peerAddr); 6 Session session = new Session(connection); SenderLink sender = new SenderLink(session, "send-1", target); 7 for (int i = 0; i < count; i++) { Message msg = new Message("simple " + i); 8 sender.Send(msg); 9 Console.WriteLine("Sent: " + msg.Body.ToString()); } sender.Close(); 10 session.Close(); connection.Close(); } } }
- 1
using Amqp;
Amqp ネームスペースで定義されたタイプをインポートします。Amqp は、ライブラリーファイル Amqp.Net.dll へのプロジェクト参照によって定義され、AMQ .NET に関連するすべてのクラス、インターフェイス、および値タイプを提供します。- 2
- コマンドライン arg[0]
url
は、AMQP 接続のホストまたは仮想ホストのネットワークアドレスです。この文字列は、接続トランスポート、ユーザーとパスワードの認証情報、およびリモートホストの接続のポート番号を説明します。url はブローカー、スタンドアロンピア、またはルーターネットワークの Ingress ポイントに対応できます。 - 3
- コマンドライン arg[1]
target
は、リモートホストのメッセージ先エンドポイントまたはリソースの名前です。 - 4
- コマンドライン arg[2]
count
は送信するメッセージ数です。 - 5
peerAddr
は AMQP コネクションの作成に必要な構造です。- 6
- AMQP コネクションを作成します。
- 7
sender
は、メッセージを送信するクライアント SenderLink です。リンクは、任意に send-1 と命名されます。リンク名は、使用している環境において合理的で、混雑したシステム上でもトラフィックを識別しやすい名前を使用してください。リンク名に制限はありませんが、同じセッション内で一意である必要があります。- 8
- メッセージ送信ループでは、新しいメッセージが作成されます。
- 9
- メッセージは AMQP ピアに送信されます。
- 10
- すべてのメッセージが送信されると、プロトコルオブジェクトは正しい順序でシャットダウンされます。
サンプルの実行
サンプルプログラムを実行するには、コマンドラインでコンパイルして実行します。詳細は、3章スタートガイド を参照してください。
<install-dir>\bin\Debug>simple_send "amqp://guest:guest@localhost" service_queue