• Post Reply Bookmark Topic Watch Topic
  • New Topic

StaleConnectionException -WebSphere Connection Pool  RSS feed

Anish Jacob
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am facing a problem with WebSphere Connection Pool.
My project environment is WebSphere 3.5.6 and MainframeDB2 through DB2Connect.
I am getting Stale Connection Exception quite frequently.
Here is the Exception details-
StaleConnectionException=com.ibm.ejs.cm.portability.StaleConnectionException: [IBM][CLI Driver][DB2] SQL30081N A communication error has been detected.
Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "".
Communication function detecting the error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001

This will happen only , if no body uses the Application (connection for more than 10 minutes, and somebody start using it after around 10 minutes, the first person will get this error. then you will never get this error if application is continuously is use. Initially i thought this is because mainframe side connection is getting closed before the WAS connection IDLE time out. but from our appserver side, if we open and connection directly using db2Runtime(v 7.2) client, open a connection and execute the query after long time (more than 30 minutes) , you won't get any error. WAS DataSource also using the same runtime client.
when you keep min connection pool parameter as 0 and idle time-out parameter less than 10 minutes , you won't get this error at all.
Can anybody help, why this is happening, why i am getting a closed or stale connection after 10 minutes from the WAS connection pool
Anish- IBM Global Services
Trish Wu
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You can find useful info from this whitepaper
Quoting from :
WebSphere connection pool
ORPHAN_TIMEOUT - The number of seconds that an application is allowed to hold an
inactive connection. The default is 1800 seconds (30 minutes). Any non-negative integer
is a valid value. If there is no activity on an allocated connection for longer than the
ORPHAN_TIMEOUT number of seconds, the connection is marked for orphaning. After
another ORPHAN_TIMEOUT number of seconds, if the connection still has no activity,
the connection is returned to the pool. If the application tries to use the connection again,
it is thrown a StaleConnectionException. Connections that are enlisted in a transaction
are not orphaned. Setting this value to 0 disables the orphan timeout.
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!