汎用 JMS バインディングは、Service Component Architecture (SCA) 環境と JMS システム (JMS 1.1 に準拠し、オプションの JMS Application Server Facility を実装している場合) の間の接続を提供する非 JCA JMS バインディングです。
汎用 JMS インポート・バインディングにより、SCA モジュール内のコンポーネントは、外部の JCA 1.5 非準拠の JMS プロバイダーが提供するサービスと通信できるようになります。
JMS インポートの接続部分は、接続ファクトリーです。 接続ファクトリーとは、クライアントがプロバイダーへの接続を作成するために使用するオブジェクトであり、管理者によって定義された一連の接続構成パラメーターをカプセル化します。各接続ファクトリーは、ConnectionFactory、QueueConnectionFactory、または TopicConnectionFactory インターフェースの インスタンスです。
外部 JMS システムとの対話では、要求を送信し、応答を受信するための宛先が使用されます。
汎用 JMS インポート・バインディングでは、呼び出されている操作のタイプに応じた以下の 2 種類の使用シナリオがサポートされています。
receive 宛先がアウトバウンド・メッセージの replyTo ヘッダー・プロパティーに設定されます。 受信宛先で listen するためのメッセージ駆動型 Bean (MDB) をデプロイします。応答を受信すると、MDB は応答をコンポーネントに返します。
インポート・バインディングは、要求メッセージ ID (デフォルト) または要求メッセージ相関 ID から応答メッセージ相関 ID がコピーされていることを期待するように (WebSphere® Integration Developer の「応答相関スキーム」フィールドを使用して) 構成することができます。
片方向と両方向のいずれのシナリオを使用する場合も、動的および静的ヘッダー・プロパティーを指定できます。静的プロパティーは汎用 JMS インポート・メソッド・バインディングから設定できます。これらのプロパティーのなかには、SCA JMS ランタイムにとって特殊な意味を持つものがあります。
重要な点として、汎用 JMS は非同期バインディングであることに注意してください。 呼び出し側コンポーネントが汎用 JMS インポートを同期的に呼び出すと (両方向操作の場合)、呼び出し側コンポーネントは、JMS サービスからの応答が返されるまでブロックされます。
図 1 は、インポートがどのように外部サービスにリンクされているのかを示しています。
汎用 JMS エクスポート・バインディングは、SCA モジュールが外部 JMS アプリケーションにサービスを提供する手段を提供します。
JMS エクスポートの接続部分は、ConnectionFactory および ListenerPort から構成されます。
エクスポート・バインディングで 指定された receive 宛先に着信する要求を listen するため、MDB が デプロイされます。
図 2 は、外部の要求側がどのようにエクスポートにリンクされているのかを示しています。