We are having a problem with weblogic connection pool. Our web application is built on top of Spring Framework, deploy to Weblogic using the datasource to connect to Oracle. We are using a min 1 and max 15 connection pool setting on weblogic. But the problem we are facing is the pool doesn't seem to handle any connection as a pool. Every request issues a new connection to the Oracle server and closed right in a few seconds of connection. The new connection count could be easily up to over 100 within a 10 min.
Is there a timeout setting to check on the alive connection? Could anyone please share your thoughts how to solve the issue? Your input is really appreciated.
Spring framework (2.5.3), Weblogic (10.3), Oracle (11gR2)
Test Connections On Reserve: checked
Test Frequency: 120
Test Table Name: SQL SELECT 1 FROM DUAL
Seconds to Trust an Idle Pool Connection:10
Connection Creation Retry Frequency:0
Inactive Connection Timeout:0
Maximum Waiting for Connection:2147483647
Connection Reserve Timeout:10
Statement Timeout: -1
Ignore In-Use Connections: checked
Remove Infected Connections Enabled: checked
From the Monitoring tool, we observed the following statistics:
Active Connections Average Count : 0
Active Connections Current Count : 0
Active Connections High Count : 1
Connections Total Count :1523
Current Capacity : 1
Failed Reserve Request Count : 46
Highest Num Available : 30
Leaked Connection Count : 0
Wait Seconds High Count :0
Reserve Request Count : 1531
Other parameters are all 0.
For the Spring setting:
<!-- added the following for debugging issue if caused by cluster or not -->
<property name="cache" value="false"/>
<property name="lookupOnStartup" value="false"/>
<property name="proxyInterface" value="javax.sql.DataSource"/>
I changed a few other things at the same time and it suddenly started to work. So I removed the combinations one by one and identified your initial suggestion was the minimum to keep this pool alive. Not sure why it did not work at the beginning, maybe some other parameters changed and prevented it from working correctly. Thank you very much Joe!