スレッド識別機能を使用すると、初めて接続を確立するときにその接続の所有者としてスレッド ID を割り当てることができます。
この機能は、接続所有権でのスレッド ID の使用をサポートする、Java™ Platform, Enterprise Edition (Java EE)
コネクター・アーキテクチャー (JCA) リソース・アダプター
およびリレーショナル・リソース・アダプター (RRA) ラッパー適用
Java Database Connectivity (JDBC) プロバイダーにのみ適用されます。
このタスクについて
この項では、スレッド ID という用語は、OS のスレッド ID ではなく、Java EE ID (RunAs ID など) を指します。
詳しくは、トピック『Java スレッド ID とオペレーティング・システム・スレッ
ド ID の同期化』および『「Connection Manager RunAs Identity Enabled」およびオペレーティング・システム・セキュリティーの理解』を参照してください。
以下のステップを実行して、
接続ファクトリーに対して、あるいはサポートされる JCA リソース・アダプターおよび JDBC プロバイダーを用いて
作成された JDBC プロバイダーのデータ・ソースに対して
スレッド識別機能を使用可能にします。
手順
- アプリケーション・リソースに関して resauth=Container を定義します。
詳しくは、『接続スレッド ID』トピックを参照してください。
- JCA リソース・アダプターまたは JDBC プロバイダーがスレッド識別機能を確実にサポートするようにします。
サポートされるリソース・アダプターおよび
データ・ソース・プロバイダーを検討します。
また、サポート・レベル REQUIRED、ALLOWED、および NOTALLOWED を検討します。
スレッド ID とスレッド・セキュリティーをサポートする JCA リソース・アダプター・プロセスと JDBC プロバイダー・プロセスの表については、『接続スレッド ID』トピックを参照してください。
アダプターまたは
プロバイダーがリストされていない場合、スレッド識別サポートはデフォルトで NOTALLOWED となります。
- コネクターをローカルで構成する場合は
、コンテナー管理認証別名を NULL に設定します。
コネクターがローカルで構成されていると、
リソース・アダプターによってスレッド識別サポートのレベルが ALLOWED に
指定されます。スレッド識別サポートが ALLOWED であり
、コンテナー管理認証別名が NULL である場合、
コネクターは、確立するそれぞれの接続の所有者として
現行のスレッド識別を使用します。
リソース・アダプターまたは JDBC プロバイダーによって
スレッド識別サポートのレベルが REQUIRED に指定されている場合、
コンテナー管理認証別名の指定は無視されます。
この場合、
スレッド識別サポートは常に適用されます。
- Java 2 セキュリティーが要素
である場合のコネクターの振る舞いを決定します。
詳しくは、『スレッド ID サポートのセキュリティーの状態』の項目を参照してください。
接続に関連したスレッド識別を
スレッド識別にする場合は、Java 2 セキュリティーを使用可能にする必要があります。
スレッド識別機能をサポートし、実行 z/OS® スレッドにプッシュされるスレッドを必要とする JDBC
プロバイダーを使用する場合は、サーバーの「Connection Manager RunAs
Identity Enabled」プロパティーを true に設定します。
注: Bean 管理
パーシスタンス (BMP) Bean を使用する場合、呼び出し前または呼び出
し後メソッドの処理中に、ejbLoad() または ejbStore() 関数を使用して
接続を確立すると、スレッド識別サポートは RunAs 識別
にはなりません。これは、この処理の実行中にコンテナーがサーバー識別を使用して稼働しているためです。
詳しくは、『代行』トピックを参照してください。スレッド識別を使用する代わりに BMP Bean を使用して、
ユーザーを接続に関連付けるようにコンテナー管理別名を指定します。