私のTomcatの巨大なWebアプリは、DBCP接続を使いすぎて、問題が発生することがあります。
調査するために、どのスレッド/メソッドがプールの接続を保持しているかを各時点で正確に知りたいと思います。リアルタイムである必要はありません。事後分析はOKです。
私は無駄にそのようなDBCP監視ツールを探していたので、私は私のものを書き込もうとしています。
(興味があればオープンソースにすることができます)
これが私の計画です:
- PoolingDataSource.getConnectionをログに変更する
DBCP+1 <thread-id>
" " - DelegatingConnection.closeをログ" "に変更します
DBCP-1 <thread-id>
- 視覚化のためにこの単純なCSVを生成する小さなスクリプトを作成します。
質問:
アイデアを無効にするCommons-DBCP 1.4の概念が欠けていますか?
それとも私は車輪の再発明をしていますか?