JDBC Adapter Pool Problem

The IS is 6.1. The JDBC Adapter is connected to an Oracle database with the following property settings: Minimum Pool Size = 5, Maximum Pool Size = 20, Pool Increment Size = 5. The Oracle database has “maximum idle time” set to 12 hours.

During periods of low activity, one or more of the 5 connections in the pool will get automatically logged off on the Oracle side. We then get the following errors when the integrations attempt to make JDBC Adapter Service calls (ex. Select statement):
2005-10-03 00:41:12 GMT [ART.0116.3001E] Adapter Runtime (Notification): Notification error … (61000/2396) ORA-02396: exceeded maximum idle time, please connect again.

It appears that the JDBC Adapter Pool Manager does not gracefully handle connections that may have been logged off on the Oracle side. It still attempts to use these “stale” connections. Is this normal or is it a bug? Are there configuration properties that can be set to get around this?

Thanks,
Jay

Hi Jay:
What you didn’t mention was the parameters for block and expiring timeout values. For more details Refer to advantage article

http://advantage.webmethods.com/cgi-bin/advantage/main.jsp?w=0&targChanId=knowledgebase&oid=1611541996

We are on version 6.5 but when we were on version 6.1 we were running all Minimum Pool Sizes = 0 without problem.
HTHs

Block Timeout (msec) = 1000
Expire Timeout (msec) = 1000
Startup Retry Count = 0
Startup Backoff Timeout (sec) = 10

“During periods of low activity, one or more of the 5 connections in the pool will get automatically logged off on the Oracle side. We then get the following errors…”

As Randy pointed out, the trick to avoiding stale connections is to set the minimum pool size to 0. There is usually no need for keeping connections open during idle times.