Spring 2.5 を使用しています。apache-commons-dbcp 接続プーリングを使用する SimpleJdbcTemplate。クエリの実行時にスレッドを生成するスレッド プールもあります (複数のクエリが実行され、すべてが完了するとその結果が処理されるため、クエリを並行して実行するためにスレッドが生成されます)。
最終的に、すべてのスレッドが TIMED_WAIT で getConnection() を待機しています。スレッドが接続を取得していないようです。DB を確認すると、接続はすべてアイドル状態です。
これは何が原因ですか?最大プール サイズとして 10 の接続と 50 ~ 100 のスレッドがあります。これをどのように構成すればよいですか?DBA は、これで十分な接続が必要であると言っています (それらはすべてアイドル状態であるため、私も同意します)。
SimpleJdbcTemplate のデータソースとして BoneCP でも同じことが起こります。