質問
していまJ2EEアプリケーションを使用しない正しく実装され、その全てのDB資源をユーザーをログします。さらにいます。invalidate();まっ、たいと思っています。ご相談のうえで、最善の方法を使うすべての貴重な資源を一旦ユーザーのログです。
解決
私の意図は、ユーザーがログアウトすると、すべてのDBリソースを閉じることです。
これは、すでに悪い習慣のサインです。 DBリソースは、をの取得されるべきである、すなわち非常に同じメソッドブロック内、最短の範囲で閉じ。あなたは、静的またはインスタンス変数としてDBリソース(Connection
、Statement
および/またはResultSet
)のホールドを取得することはありませんがあります。これは、リソースのリークと、より深刻な問題への領収書です。
は、接続プールを導入する必要があります。これはの自分ののオープン接続を維持するための口実ではないことに注意してください。ちょうど取得し、できるだけ早く同じようにそれらを閉じ、接続プールの実装自体は、実際に接続を閉じるか、プールにそれを解放について自分自身を心配します。これは、すべて完全に透明です。 JNDIデータソースの味の接続プーリング機能を備えたまともなアプリケーションサーバ出荷されます。それを利用してください。一度あなたがすべてで開いているすべてのDBリソースやパフォーマンスを心配する必要はありません、ということで行わます。
他のヒント
くださいとして
- ご利用の接続およびその他のデータベースの授業のDB資源です。
- 明らかでフィットネスインストラクターセッションオブジェクトです。
- チェックのためにクッキーを作成した適用除に必要な一クエリの例を以下に示します
所属していません StackOverflow