第4章 例
本章では、サンプルプログラムで AMQ .NET を使用する方法について説明します。
その他の例は、AMQ .NET サンプルスイート および AMQP.Net Lite サンプル を参照してください。
4.1. メッセージの送信 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このクライアントプログラムは <connection-url> を使用してサーバーに接続し、ターゲット <address> の送信者を作成し、<message-body> を含むメッセージを送信して接続を切断して終了します。
例: メッセージの送信
namespace SimpleSend
{
using System;
using Amqp;
class SimpleSend
{
static void Main(string[] args)
{
string url = (args.Length > 0) ? args[0] :
"amqp://guest:guest@127.0.0.1:5672";
string target = (args.Length > 1) ? args[1] : "examples";
int count = (args.Length > 2) ? Convert.ToInt32(args[2]) : 10;
Address peerAddr = new Address(url);
Connection connection = new Connection(peerAddr);
Session session = new Session(connection);
SenderLink sender = new SenderLink(session, "send-1", target);
for (int i = 0; i < count; i++)
{
Message msg = new Message("simple " + i);
sender.Send(msg);
Console.WriteLine("Sent: " + msg.Body.ToString());
}
sender.Close();
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