この記事を読みました
そして、トピックが MQ でどのように機能するかという概念をまだ理解していませんでした。JMS では、トピックにメッセージを発行できることを知っています。トピックからメッセージを受信するには、まずトピックにサブスクライブする必要があります (受信フェーズでサブスクリプション名を使用)。
MQ でどのように機能しますか? (JMSのように)簡単なシナリオを書きたい:
サンプル コード (.NET) があると助かります
男
この記事を読みました
そして、トピックが MQ でどのように機能するかという概念をまだ理解していませんでした。JMS では、トピックにメッセージを発行できることを知っています。トピックからメッセージを受信するには、まずトピックにサブスクライブする必要があります (受信フェーズでサブスクリプション名を使用)。
MQ でどのように機能しますか? (JMSのように)簡単なシナリオを書きたい:
サンプル コード (.NET) があると助かります
男
同梱のサンプルコードはご覧になりましたか?デフォルトのインストールでは、次の場所にあります。
C:\Program Files\IBM\WebSphere MQ\tools\dotnet\samples
このMQPubSubSample.cs
プログラムは、マネージド コードとアンマネージド コードの永続サブスクリプションと非永続サブスクリプションの両方を示しています。いずれの場合も、最初にサブスクライブしてからパブリッシュしますが、質問で説明されているように、パブリッシュ/サブスクライブ/受信/パブリッシュ/受信のユース ケースに簡単に変更できます。(但し、まだ購読していないトピックからは受信できません。)
サンプル コードのセクションの 1 つを次に示します。
// Managed/nondurable
string topicName = DEFAULT_TOPIC_STRING;
string topicObject = null;
int openOptionsForGet = MQC.MQSO_CREATE | MQC.MQSO_FAIL_IF_QUIESCING | MQC.MQSO_MANAGED | MQC.MQSO_NON_DURABLE;
int destType = MQC.MQOT_TOPIC;
try
{
destForGet = mqQMgr.AccessTopic(topicName, topicObject, MQC.MQTOPIC_OPEN_AS_SUBSCRIPTION, openOptionsForGet);
messageForPut = new MQMessage();
messageForPut.WriteString(DEFAULT_MESSAGE_DATA);
mqQMgr.Put(destType, topicObject, null, topicName, messageForPut);
messageForGet = new MQMessage();
destForGet.Get(messageForGet);
string messageDataFromGet = messageForGet.ReadLine();
if(!DEFAULT_MESSAGE_DATA.Equals(messageDataFromGet))
Console.WriteLine("Incorrect Message Received.");
destForGet.Close();
}
catch(MQException mqE)
{
Console.WriteLine("MQException caught. " + mqE.ToString());
}
あなたの質問は例として JMS を参照しています。IBM XMS - Extensible Message Service Client for .Net を使用するオプションがあることに注意してください。XMS は、トランスポートとして WMQ、WMB、または WAS を使用して .Net 経由で JMS API を実装するため、JMS コードをほとんど変更せずに使用できます。Message Service Client for .Net 2.0.0マニュアルでは、提供内容について説明しています。
.NET 用
メッセージ サービス クライアント .NET 用メッセージ サービス クライアントは、Java Message Service (JMS) API と同じ一連のインターフェイスを持つ、XMS と呼ばれるアプリケーション プログラミング インターフェイス (API) を提供します。Message Service Client for .NET には、.NET 準拠の任意の言語で使用できる XMS の完全に管理された実装が含まれています。XMS は以下をサポートします。
XMS アプリケーションは、次のタイプのアプリケーションとメッセージを交換できます。
XMS アプリケーションは、次のメッセージング サーバーのいずれかに接続し、そのリソースを使用できます。
WebSphere MQ キュー・マネージャーに接続することにより、XMS アプリケーションは WebSphere MQ Enterprise Transport を使用して、WebSphere Event Broker または WebSphere Message Broker のブローカーと通信できます。あるいは、XMS アプリケーションで WebSphere MQ Publish/Subscribe ブローカーを使用することもできます。
さらに詳しく調べたい場合は、サンプル XMS コードが、前述のネイティブ .Net サンプルの下のサブディレクトリにあります。サンプルについては、マニュアルの「XMS サンプル アプリケーションの使用」セクションで説明されています。
.Net サポートは、v7 の時点で WMQ に統合されています。サンプルがない場合は、WMQ クライアントのインストールがバックレベルであるか、インストールが不完全です。Windows 用の最新の v7.0 WMQ クライアントは、SupportPac MQC7としてダウンロードできます。
XMS サポートはSupportPac IA9Hとして提供されます。