8.2. JCA の使用についての概要


JCA は、ドライバーとアプリケーションサーバーとの間の双方向通信を追加して、データベース ドライバー の概念を一般化します。ドライバーは、javax.resource.spi.ResourceAdapter で表される リソースアダプター になります。

以下の 2 つの重要なインターフェイスがあります。

  • javax.resource.spi.ManagedConnectionFactory implemented by a resource adapter.
  • アプリケーションサーバーで実装される javax.resource.spi.ConnectionManager

ManagedConnectionFactory インターフェイスには 2 つの目的があります。

  • Object createConnectionFactory(ConnectionManager cxManager) メソッドは、アプリケーションコードが使用できる指定の EIS (またはデータベースまたはメッセージブローカー) の 接続ファクトリー を生成するために使用できます。返されたオブジェクト メソッド

    • 汎用 javax.resource.cci.ConnectionFactory (詳細は JCA 1.6, chapter 17: Common Client Interfaceを参照)
    • よく知られている javax.sql.DataSource または javax.jms.ConnectionFactory などの EIS 固有の接続ファクトリー。これは、pax-transx-jdbc および pax-transx-jms バンドルによって使用される 接続ファクトリー のタイプです。
  • アプリケーションサーバー によって使用される javax.resource.spi.ManagedConnection ManagedConnectionFactory.createManagedConnection() メソッドでは、EIS/database/broker への実際の物理接続を作成します。

ConnectionManagerアプリケーションサーバー によって実装され、リソースアダプター によって使用されます。これは、最初に QoS 操作 (プーリング、セキュリティー、トランザクション管理) を実行し、最終的に リソースアダプターManagedConnectionFactory に委譲して ManagedConnection インスタンスを作成する アプリケーションサーバー です。フローは以下のようになります。

  1. アプリケーションコードは、ManagedConnectionFactory.createConnectionFactory() から返されるオブジェクトを使用して アプリケーションサーバー で作成され、公開される 接続ファクトリー を使用します。これは一般的な CCI インターフェイス (例: javax.sql.DataSource) である可能性があります。
  2. この 接続ファクトリー は、独自の接続で 接続 を作成しません。代わりに、リソースアダプター固有の ManagedConnectionFactory を渡す ConnectionManager.allocateConnection() に委譲します。
  3. アプリケーションサーバー によって実装される ConnectionManager は、サポートするオブジェクト の作成、トランザクションプーリングの管理などを行い、最終的に渡された ManagedConnectionFactory から 物理 (管理) 接続 を取得します。
  4. アプリケーションコードは、通常、リソースアダプターの特定の 物理接続 に委譲する アプリケーションサーバー によって作成されるラッパー/プロキシーであるコネクション を取得します。

以下は、アプリケーションサーバー が EIS 固有の EIS 接続ファクトリー以外の 接続ファクトリー を作成した図です。EIS (ここではデータベース) へのアクセスは javax.sql.DataSource インターフェイスを使用して行われます。ドライバーのタスクは 物理接続を提供することで、アプリケーションサーバー はプーリング/登録/セキュリティーを行うプロキシー (通常) 内でラップします。

diag d19ebefefdbf2bac343521fa48cab709
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.