2016-08-29 15 views
1

以下の仕様のJavaアプリケーションを開発しました。weblogic11gデータソースがプールへの接続を解放しない

フレームワーク:春、休止状態
データベース:我々は完全に後にデータベース・サーバーのRAMの消費を引き起こしているWebLogicのデータソース接続がプールに解放していないを使用する場合、ここで

問題を11gのweblogicです:Oracleサーバーが
いくつかの取引。しかし、アプリケーションで基本データソースを使用すると、各トランザクションの直後に接続が解放され、データベースサーバーの最後にRAM消費はありませんでした。コンテナベースのデータソースはどのように使用できますか?

答えて

0

これは、weblogicのデータソースを設定する際に選択したパラメータによって異なります。次の項目を確認してください 1)「固定されたスレッド」プロパティを有効にしないでください 2)「無効な接続タイムアウト」を適切な値に設定してください。あなたのアプリケーションが接続を漏らした可能性があります

+0

ありがとうございます。あなたが言ったように、私たちはすでに非アクティブな接続タイムアウトを10に設定し、スレッドに固定されていません。しかし、まだRAMはDBサーバーで消費されており、非アクティブな接続が存在します。しかし、アプリケーションで接続が漏洩しているかどうかを教えても、基本的なデータソースでも同様の問題が発生しています。しかし、そのようなことは起こらず、メモリと接続はApacheの基本的なDSで適切に解放されます。アプリケーションで行った唯一の変更は、weblogic DSからApache DSへの変更です(これは問題ありません)。設定のいくつかがweblogicで逃した場合、私たちを助けてください – Theja

+0

実際には、私は詳細を理解する必要があります。例えば、データベースサーバー上のRAM消費量は一定のままです。この問題は、SGA/PGAの高消費に関連していますか?どのように高いRAM消費量を計算していますか?データベースには常にいくつかの接続があります。データベース内のセッションの状態を確認してください。 Weblogicは、「最小接続」プロパティのために、常に一部の接続を開いたままにします。さらに、weblogicは常にポーリングデータベースを保持します。しかしながら、これらは高い記憶の理由ではない。メモリ消費量が多いときはすべてのdbセッションを分析する必要があります –

関連する問題