JMS トピック・リソースとサービス統合
JMS トピック・リソース (トピック、トピック・スペース、接続ファクトリー、永続サブスクリプション) は、JMS パブリッシュ/サブスクライブ・メッセージング用のデフォルト・メッセージング・プロバイダーにより提供され、サービス統合バスでサポートされます。
JMS パブリッシュ/サブスクライブ・メッセージングおよびデフォルト・メッセージング・プロバイダーについて、次の図に示します。

- JMS トピック
- "「JMS トピック」"とは、アプリケーションが対話を行い、
管理者がデフォルト・メッセージング・プロバイダーの JMS リソースとして構成する JMS 宛先 (javax.jms.Topic の
インスタンス) のことを指します。
JMS パブリッシュ/サブスクライブ・メッセージングを使用するアプリケーションは、 JMS キューを持つメッセージのプロデューサーまたはコンシューマーとして動作し、JMS トピックをサポートする他のサービス統合リソースについて認識している必要はありません。
管理者は、サービス統合バス上の トピックの名前およびトピック・ スペースの名前をカプセル化する管理オブジェクトである、JMS トピックを 定義することができます。アプリケーションは JNDI 名前空間で名前を検索することで JMS トピックを取得することができます。
JMS アプリケーションでは、JMS トピック間とのメッセージのパブリッシュおよびサブスクライブが可能です。サブスクライブするアプリケーションは通常、サブスクライバーがサーバーに接続されている場合にのみ、 トピックに対してパブリッシュされたメッセージを受信できます。
デフォルトのメッセージング・プロバイダーでは、トピックに対する永続サブスクリプションを使用することもできます。 これによりサブスクライバーは、サブスクライバーが切断されていたときにパブリッシュされたメッセージを受信できます。 永続サブスクリプションについての詳細は、JMS 1.1 仕様のセクション 6.11.1 を参照してください。
- トピック・スペース
- トピック・スペース (トピックの階層コレクション) は、パブリッシュ/サブスクライブ・メッセージング用のメッセージが保管および処理されるサービス統合バス上の仮想ロケーションです。
キューを構成するのとは異なり、管理者はトピック・スペースをバス・メンバーに割り当てる必要がありません。 トピック・スペースには、バスの各メッセージング・エンジンで自動的に定義される 公開ポイントがあります。トピック・スペースのメッセージはすべての公開ポイントに格納され、処理されます。
- トピック
- 「トピック」とは、トピック・スペース内の判別プログラムのことです。
トピックにサブスクライブする場合、各アプリケーションはワイルドカード文字を指定してトピックの範囲を選択できます。
- JMS 接続ファクトリー
- "JMS 接続ファクトリー"は
、トピック・スペー
スに公開ポイントを
提供するメッセージング・
エンジンへの接続を作成します。
JMS 1.1 を使用する場合、 新規アプリケーションについては、ドメインに依存しない JMS 接続ファクトリーを 使用することをお勧めします。 ドメイン固有のトピック接続ファクトリーは、ドメイン固有のトピック・ インターフェースを使用するように開発された JMS アプリケーション向けに 下位互換性を保つためにサポートされています (JMS 1.1 仕様書のセクション 1.5 を参照)。
- 一時 JMS トピック
- 管理オブジェクトとして作成される JMS トピックを使用するほかに、アプリケーションは独自の一時 JMS トピックを作成することもできます。これは接続している間だけ、実行時に存在するものです。
一時 JMS トピック用の MessageConsumers を作成できるのは、この接続だけです。
一時 JMS 宛先の 作成の詳細については、JMS 1.1 仕様書のセクション 4.43 を参照してください。
一時 JMS トピックの場合、サービス 統合バスによって一時トピック・ スペースが作成されます。管理者はこのトピック・スペースを一覧および参照することが できますが、通常はこれらを操作をする必要はありません。接続がクローズされると、 一時トピック・スペースは 自動的に削除されます。
- 永続サブスクリプション
- JMS トピックで永続サブスクリプションを使用することにより、サブス クライバーがサーバーに接続されていない時にパブリッシュされたメッセージ も含め、そのトピックに対してパブリッシュされたすべてのメッセージのコピ ーをサブスクライバーは受信できるようになります。このため、サブスクライバー・アプリケーションは長期間サーバーと切断された状態で稼働することができ、その後サーバーに再接続して、接続されていなかった期間にパブリッシュされたメッセージを処理できます。 アプリケーションが永続サブスクリプションを作成する場合、この永続サブスクリプションは、管理コンソールを使用して 管理者が表示および操作することができるリストに追加されます。