WebSphere Application Server Network Deployment, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

失効した接続

この製品は、接続プールを使用してリレーショナル・データベースにアクセスする際に、java.sql.SQLException クラスの特別なサブクラスを提供します。 この com.ibm.websphere.ce.cm.StaleConnectionException サブクラスは、WebSphere 4.0 データ・ソースと、リレーショナル・リソース・アダプターを使用する最新バージョンのデータ・ソースの両方に存在します。 これは、現在保持されている接続がすでに無効であることを示すのに使用されます。 この状態は、以下の理由を含め、多くの理由により発生する可能性があります。

孤立した接続、または自動接続クリーンアップによって使用不可にされた接続を使用しようとすると、StaleConnection 例外により、すでに接続プールに戻された接続をアプリケーションが使用しようとしたことが示されます。 これは、実際に接続に関する問題があることを示しているわけではありません。 しかし、その他の StaleConnection 例外の場合は、データベースへの接続がうまくいかなかったか、あるいは失効 したことを示しています。 接続は、一度失効するとリカバリーできないので、 プールには戻さず、完全に閉じる必要があります。

失効した接続の検出

データベースへの接続が失効すると、その接続での操作の結果、JDBC Driver から SQL 例外が出されます。 SQL 例外は、どちらかと言えば一般的な例外であるため、これには、例外の意味の判別に使用できる状態およびエラー・コードの値が含まれています。 しかし、これらの状態およびエラー・コードの意味は、 データベースのベンダーによって異なります。 この接続プール・ランタイムには、SQL 状態とエラー・コードが、サポートされているデータベース・ベンダーごとの StaleConnection 例外を示す、マッピングが保持されています。 接続プール・ランタイムは、SQL 例外をキャッチすると、この SQL 例外が、使用中のデータベース・サーバーに対する StaleConnection 例外と考えられるかどうかを確認します。

失効した接続からのリカバリー

失効した接続からのリカバリーは、 アプリケーション・サーバー・ランタイムとアプリケーション開発者が共同で行う作業です。 アプリケーション・サーバーの観点では、 接続プールは、その PurgePolicy 設定に基づいてパージされます。

アプリケーションでは、StaleConnection 例外を明示的にキャッチする必要はありません。 これは、アプリケーションはすでに java.sql.SQL 例外をキャッチする必要があり、StaleConnection 例外は SQL 例外を拡張するので、StaleConnection 例外は SQL 例外の作成が宣言されているどのメソッドからでも出すことが可能であり、通常の catch ブロックで自動的にキャッチされるためです。 ただし、StaleConnection 例外を明示的にキャッチすると、アプリケーションが不良接続からリカバリーできるようになります。 アプリケーション・コードで StaleConnection 例外をキャッチすると、明示的な例外処理のステップが実行されます。




サブトピック
例: データ・アクセス例外の処理 - StaleConnectionException
関連概念
リソース・アダプター
データ・ソース
接続プール
関連資料
接続プール設定
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:44:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/cdat_stalecon.html