質問

していまJ2EEアプリケーションを使用しない正しく実装され、その全てのDB資源をユーザーをログします。さらにいます。invalidate();まっ、たいと思っています。ご相談のうえで、最善の方法を使うすべての貴重な資源を一旦ユーザーのログです。

役に立ちましたか?

解決

  

私の意図は、ユーザーがログアウトすると、すべてのDBリソースを閉じることです。

これは、すでに悪い習慣のサインです。 DBリソースは、の取得されるべきである、すなわち非常に同じメソッドブロック内、最短の範囲で閉じ。あなたは、静的またはインスタンス変数としてDBリソース(ConnectionStatementおよび/またはResultSet)のホールドを取得することはありませんがあります。これは、リソースのリークと、より深刻な問題への領収書です。

本来の意図は、接続のパフォーマンスを向上させることにある場合は、

は、接続プールを導入する必要があります。これはの自分ののオープン接続を維持するための口実ではないことに注意してください。ちょうど取得し、できるだけ早く同じようにそれらを閉じ、接続プールの実装自体は、実際に接続を閉じるか、プールにそれを解放について自分自身を心配します。これは、すべて完全に透明です。 JNDIデータソースの味の接続プーリング機能を備えたまともなアプリケーションサーバ出荷されます。それを利用してください。一度あなたがすべてで開いているすべてのDBリソースやパフォーマンスを心配する必要はありません、ということで行わます。

他のヒント

くださいとして

  1. ご利用の接続およびその他のデータベースの授業のDB資源です。
  2. 明らかでフィットネスインストラクターセッションオブジェクトです。
  3. チェックのためにクッキーを作成した適用除に必要な一クエリの例を以下に示します
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top