Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

アダプタを使用したカスタム JMS サービスおよびオペレーションの作成

Important:

このページでは、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 ビジネス・ホストで行ったのと同様にこれらをプロダクションに追加します。

FeedbackOpens in a new tab