TIBCO iProcess Web Services SQLException using Oracle 12c database
book
Article ID: KB0084177
calendar_today
Updated On:
Products
Versions
TIBCO iProcess Engine (Oracle)
11.6.0
Description
The following SQLException is reported in the Jetty log file when processing EAI Web Services Steps:
2017-01-11 16:31:12,991 [ERROR] [Thread-30] QueueReader - Unable to process message
com.staffware.integration.jmspooling.library.SWPooledWorkerException: Failed to commit work at com.staffware.integration.delayedrelease.library.handler.DelayedReleaseHandler.processMessage(DelayedReleaseHandler.java:359) at com.staffware.integration.jmspooling.library.pool.QueueReader.run(QueueReader.java:314) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLException: Could not commit with auto-commit set on at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:2356) at oracle.jdbc.driver.PhysicalConnection.commit(PhysicalConnection.java:2403) at org.apache.commons.dbcp.DelegatingConnection.commit(DelegatingConnection.java:301) at org.apache.commons.dbcp.PoolingDriver$PoolGuardConnectionWrapper.commit(PoolingDriver.java:288) at com.staffware.integration.delayedrelease.library.handler.DelayedReleaseHandler.processMessage(DelayedReleaseHandler.java:353) ... 2 more 2017-01-11 16:31:12,991 [WARN ] [Thread-30] QueueReader - Rolling back transaction
This exception can occur as a result of the default Oracle 12c JDBC driver behavior, which is that:
* Auto-commit mode is enabled by default.
* The JDBC driver throws a SQLException when a commit or rollback operation is performed on a connection that has auto-commit set to "true".
Symptoms of the problem can be unexpected application behavior. For example, a step that initiates an EAI Web Services Call-Out does not complete.
Issue/Introduction
SQLException "Could not commit with auto-commit set on" in Jetty log when using Oracle 12c
Environment
All supported operating systems.
Oracle database.
Resolution
Update the Jetty JVM configuration to use the following Oracle connection property:
autoCommitSpecCompliant=false
For example, if Jetty is installed on a Windows platform and the Jetty.cmd file is used to to start Jetty,