StaleConnectionException on Linux systems
You might need to set a loopback to access DB2 databases from WebSphere Application Server on a Linux platform. A Linux semaphore issue can interfere with JDBC access to your DB2 database in either of these configurations:
- Use the DB2 Universal JDBC Type 2 driver to connect to a local DB2 database
- Use the DB2 Universal JDBC Type 2 driver to access DB2 for z/OS through a DB2 Connect installation on the same machine as WAS. The problem occurs only if DB2 Connect restricts local clients from running within an agent. (That is, if the DB2_IN_APP_PROCESS setting is not the default value, or if the setting is Yes. Set the value to No to fix the problem and avoid performing the following procedure.)
The issue often triggers the JVM logs to display the DB2 stale connection exception SQL1224. Because the SQL exception code can vary, however, check the DB2 trace log when you encounter a stale connection. If you see the following error data, the Linux semaphore behavior is the problem:
'71' -SQLCC_ERR_CONN_CLOSED_BY_PARTNER and SQLCODE -XXXXTo work around the problem, set the loopback for your database. For example, if your database is WAS, host name is LHOST, and database service port number is 50000, issue the following commands from the DB2 command line window:db2 catalog TCPIP node RHOST remote LHOST server 50000 db2 uncatalog db WAS db2 catalog db WAS as WASAlias at node loop authentication server //If you connect to WASAlias, it is connect through loopback; //If you connect to WAS, it is "normal" connect. db2 catalog db WASAlias as WAS at node RHOSTVerify the catalog entry by issuing the following commands from the DB2 command line window:db2 connect to WAS user xxx passwd: xxx
Related Reference
Example: Handling data access exception - StaleConnectionException
Reference topic