プロダクションから JMS へのメッセージの送信
InterSystems IRIS 相互運用プロダクションは JMS プロデューサになることができます。送信アダプタを利用する組み込みのビジネス・オペレーションを使用する、または JMS 送信アダプタを使用する独自のビジネス・オペレーションを構築するという、2 つのオプションがあります。プロダクションの外部で使用する API もあります。
このページでは、PEX フレームワークを使用して実装される EnsLib.JMSPEX パッケージのクラスを参照します。今後のリリースで削除される可能性がある、従来の EnsLib.JMS パッケージのクラスは使用しないでください。
ビジネス・オペレーションの使用法
インターシステムズは、カスタム・コードを記述することなく、JMS キューまたはトピックにメッセージを送信するために使用できる、組み込みのビジネス・オペレーションを提供しています。このビジネス・オペレーションを使用するには、以下の手順を実行します。
-
EnsLib.JMSPEX.BusinessOperation をプロダクションに追加します。"ビジネス・ホストの追加" を参照してください。
-
"JMS 設定" の説明に従って、このビジネス・ホストの設定を構成します。
-
このビジネス・オペレーションに EnsLib.JMSPEX.MessageOpens in a new tab 要求を送信するように、他のビジネス・ホストを構成します。詳細は、"JMS メッセージ・クラス" を参照してください。
このビジネス・オペレーションは、EnsLib.JMSPEX.MessageOpens in a new tab タイプのメッセージを受信すると、そのメッセージを JMS に送信します。
JMS メッセージ・クラス
EnsLib.JMSPEX.MessageOpens in a new tab には、メッセージを定義するための以下のプロパティが含まれます。
-
destination は、プロデューサがメッセージを送信する JMS キューまたはトピックを定義します。
-
type は、メッセージ・タイプを定義します ("Text" または "Bytes")。
-
textBody または bytesBody は、メッセージ本文のコンテンツを定義します。2 つのうち、メッセージの type に対応するプロパティを設定します。
properties プロパティを使用して、メッセージにメタデータを添付することもできます。properties プロパティは、%External.Messaging.JMSMessagePropertyOpens in a new tab オブジェクトの %ListOfObjectsOpens in a new tab コレクションを受け入れます。JMS メッセージ・プロパティ・オブジェクトの作成に関する詳細なガイダンスは、JMS API に関するドキュメントを参照してください。JMS メッセージ・プロパティの一般的な情報は、JMS のドキュメントOpens in a new tabを参照してください。
アダプタの使用法
組み込みのビジネス・オペレーションがニーズを満たさない場合、以下のように JMS 送信アダプタを直接使用できます。
-
カスタム・ビジネス・オペレーション・クラスを作成します。
-
このクラスは Ens.BusinessOperationOpens in a new tab を拡張する必要があります。
-
ADAPTER パラメータは EnsLib.JMSPEX.OutboundAdapterOpens in a new tab である必要があります。
-
このクラスは、メッセージ・マップを定義する必要があります。
XData MessageMap { <MapItems> <MapItem MessageType="messageclass"> <Method>methodname</Method> </MapItem> ... </MapItems> }
-
このクラスは、メッセージ・マップ内のすべてのメソッドを定義する必要があります。これらのメソッドは、メッセージ・ハンドラと呼ばれます。各メッセージ・ハンドラは、以下のシグニチャを持っている必要があります。
Method Sample(pReq As RequestClass, Output pResp As ResponseClass) As %Status { }
メッセージ・ハンドラは、ビジネス・オペレーションの Adapter プロパティとしてアクセス可能な、アダプタのインスタンス・メソッドを呼び出すことができます。これらのメソッドを呼び出すための一般的な構文は以下のとおりです。
do ..Adapter.MethodName(arguments)
JMS 送信アダプタには、以下のシグニチャを持つ SendMessage() というインスタンス・メソッドが 1 つあります。
Method SendMessage(msg As EnsLib.JMSPEX.Message) As %Status{ }
-
-
ビジネス・オペレーションをプロダクションに追加します。"ビジネス・ホストの追加" を参照してください。
-
"JMS 設定" の説明に従って、このビジネス・ホストの設定を構成します。
-
このビジネス・オペレーションに要求を送信するように、他のビジネス・ホストを構成します。
関連項目
-
JMS メッセージング API の使用法 (プロダクションなしで使用する場合)