0

ESB にデータソースがあります。

Driver              oracle.jdbc.driver.OracleDriver 
URL                 jdbc:oracle:thin:@(DESCRIPTION = ... ) 
Pool Type           BasicDataSource
Repository Type     JNDI 
Max Active          20 
Max Idle            1 
Max Wait            30000 
Min Idle            0 
Initial Size        0 
Max Open Statements 50 
Transaction Isolation   TRANSACTION_UNKNOWN
Auto Commit         false
Pool Statements     true
Test On Borrow      true
Test While Idle     true
Validation Query    select 1 from dual

データベース レベルでは、ユーザー 100 接続に制限があります。

ESB データ ソース 20 内。

しかし、時々データベースの制限に達しています: ORA-02391: 同時 SESSIONS_PER_USER 制限を超えました

プール内の接続数を確認するにはどうすればよいですか?

JMX を試しましたが、適切な mbean が見つかりませんでした。

4

1 に答える 1

0

JNDI接続にバグがあるようです。

JNDIベースのデータソースを使用し、最大アクティブ=20の場合

サーバーはすべてのスレッドに20の接続を借りることができます!

インメモリデータソースを使用する場合、20がすべてのスレッドの制限になります。

したがって、問題は解決されますが、バグはまだあります。

于 2012-09-27T21:15:37.167 に答える