2011年8月16日

メッセージキュー(MSMQ)を使う

MSMQはマイクロソフトのメッセージキュー機能です。
分散処理のため、Jobキューとして使ってみました。
インストール方法と使い方を忘れそうなので取り合えずメモします。

MSMQ機能インストール
 下記Windows機能項目を有効にします
  ■Microsoftメッセージキュー(MSMQ)サーバー コア
  ■MSMQ Active Directory ドメインサービスの統合(パブリックキューの場合)
  ■MSMQ HTTP サポート(パブリックキューの場合)
  Windows 7の場合「コントロールパネル」⇒「プログラム」⇒「Windowsの機能の有効化または無効化」から設定
  image
  Windows 2008の場合は「サーバーマネージャ」⇒「機能」⇒「機能の追加」から設定
  image

 

MSMQキューの作成(手動)
 「コントロールパネル」⇒「管理ツール」⇒「コンピュータの管理」を開いて、「サービスとアプリケーション」⇒「メッセージキュー」⇒「パブリックキュー」または「専用キュー」を右クリックして、新規作成を選択します
  image
 新規作成画面でキューの名前を入力して、「OK」すれば作成完了
  image

 

MSMQキューの作成(C#プログラム)
 using System.Messaging;

 MessageQueue.Create(@".\newPublicQueue");
 MessageQueue.Create(@".\Private$\newPrivateQueue");

メッセージ送信
 MessageQueue mq = new MessageQueue(@".\newPublicQueue");
 Message msg = new Message();
 msg.TimeToBeReceived = Message.InfiniteTimeout;
 msg.Recoverable = true;
 msg.Body = "Hello world";
 mq.Send(msg);

メッセージ受信
 MessageQueue mq = new MessageQueue(@".\newPublicQueue");
 mq.Formatter = new System.Messaging.XmlMessageFormatter(new string[] { "System.String" });
 MessageQueue msg = mq.Receive();

以上

0 件のコメント:

コメントを投稿