アダプタを使用したカスタム JMS サービスおよびオペレーションの作成
このページでは、JMS メッセージングの従来の実装について説明します。新しい実装では、この実装を使用しないでください。今後のリリースで、この従来の実装は廃止される予定です。代わりに、PEX フレームワークを使用してインターシステムズが実装している JMSPEX 相互運用アダプタ (受信と送信) を使用します。または、JMS メッセージング API を使用します。
カスタムの JMS ビジネス・サービスおよびビジネス・オペレーションを作成するには、カスタムの ObjectScript コードの記述が必要となるため、組み込みの JMS サービスおよびオペレーションより多くの開発リソースが必要ですが、Java ゲートウェイ・プロキシ・オブジェクトに直接アクセスできるため、より優れたパフォーマンスを提供します。
カスタムの JMS ビジネス・サービスを開発するには、以下のようにします。
-
EnsLib.JMS.InboundAdapter をアダプタとして使用して、カスタムの BusinessService クラスを実装します。
-
OnProcessInput() メソッドを、以下のシグニチャでオーバーライドします。
Method OnProcessInput(pMessage As %Net.Remote.Object, Output pOutput As %RegisteredObject) As %Status
-
pMessage は、クラス com.intersystems.enslib.jms.Message の Java メッセージ・オブジェクトのゲートウェイ・プロキシ・オブジェクトです。 Java メッセージ・オブジェクトのプロパティおよびメソッドには、ゲートウェイ・プロキシ・インタフェースを使用してアクセスできます。pMessage オブジェクトには、JMS プロバイダから受信したメッセージが含まれます。
カスタムの JMS ビジネス・オペレーションを開発するには、以下のようにします。
-
EnsLib.JMS.OutboundAdapter をアダプタとして使用して、カスタムの BusinessOperation クラスを実装します。
-
OnMessage() メソッドをオーバーライドするか、メッセージ・マップを実装します。メッセージ・マップの詳細は、"プロダクションの開発" の "メッセージ・マップの定義" を参照してください。
-
..Adapter.GetNewMessage(tMessage) を呼び出して、プロダクション内の別のホストからビジネス・オペレーションに送信したメッセージを取得します。
tMessage には、クラス %Net.Remote.Object があります。
-
tMessage は、クラス com.intersystems.enslib.jms.Message の Java メッセージ・オブジェクトのゲートウェイ・プロキシ・オブジェクトです。 Java メッセージ・オブジェクトのプロパティおよびメソッドには、ゲートウェイ・プロキシ・インタフェースを使用してアクセスできます。Java クラス com.intersystems.enslib.jms.Message に実装されているプロパティとメソッドにより、tMessage にアクセスします。
-
..Adapter.SendMessage(tMessage) を呼び出すことにより、JMS プロバイダにメッセージを送信します。
カスタムの JMS ビジネス・サービスおよび JMS ビジネス・オペレーションを開発したら、組み込みの JMS ビジネス・ホストで行ったのと同様にこれらをプロダクションに追加します。