Troubleshooting
Problem
When InterChange Server collaborations use Oracle database connection pools, the following error might be written to the InterChange Server logs:
[]A Java exception has been encountered: A database connection
has been reestablished on session User Connection Pool for url jdbc:ibm-crossworlds:oracle://hostname:1521;SID=SIDName;
a database operation or transaction re-execution is needed. [info]::(SQLState[08006]:[IBM-CrossWorlds][Oracle JDBC Driver]
No more data available to read.DB specific error:0).[]
Symptom
Cause
The problem occurs when the Oracle database connection is not used for a few hours and becomes stale. When InterChange Server tries to connect to the database, the connection fails and the error is thrown. When this problem occurs, the first event to enter the collaboration fails and throws the exception, but subsequent events succeed.
Resolving The Problem
When the collaboration connects with a stale Oracle connection, it fails. No retry attempt is made because the Oracle drivers that are shipped with InterChange Server do not, by design, include the retry feature.
To work around this problem,you can modify the collaboration template code to catch the exception that is thrown when a stale connection is encountered. In the catch code, you can retry the connection with Oracle. Attached is a file that includes the workaround. It explains how to modify the code to avoid the error. (The database that is used in the attached file is DB2, not Oracle, but the workaround is the same.)
After you modify the code in the collaboration templates, test it in a non-production environment.
If you do not modify the code, you must resubmit or delete the failed flow using Failed Event Manager or Flow Manager.
Product Synonym
ics
Was this topic helpful?
Document Information
Modified date:
23 June 2018
UID
swg21405450