Description
org.apache.commons.dbcp.PoolablePreparedStatement#passivate()
execute clearBatch().
(DBCP-264)
But this clearBatch() throw SQLException.
(DelegatingStatement#checkOpen() throw SQLException, because _closed is true.)
The result,
the PoolablePreparedStatement doesn't return to pool, and
the PoolablePreparedStatement doesn't execute PreparedStatement#close().
When a lot of data is processed,
in the case of Oracle
- ORA-00604
- ORA-01000
occurs.
Proposal:
"clearBatch();" in passivate() method
changes as follows.
batchAdded = false;
getInnermostDelegate().clearBatch();
Attachments
Issue Links
- blocks
-
DBCP-397 Exception ORA-01000 [Number of open cursors exceeds the limit] is faced when prepared statement pooling is enabled in DBCP 1.3
- Closed