Hi.

I have a question about supporting derby database in dbcp2. I’m using JMeter to 
test derby dB and in case of auroCommit=false there is exception occurs on 
connection validation step.

Using rollbackOnReturn and setEnableAutoCommitOnReturn booleans actually breaks 
all logic. ( because in first case we lose all data on rollback in second case 
we set autoCommit to true always for connection)

I doesn’t have much experience working with connections, but it looks like that 
there is no correct way to use dbcp2 pools with derby databases.

Here is full stack trace: 

java.sql.SQLException: Cannot create PoolableConnectionFactory (Cannot close a 
connection while a transaction is still active.)
        at 
org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2385)
        at 
org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2110)
        at 
org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
        at 
org.apache.jmeter.protocol.jdbc.config.DataSourceElement$DataSourceComponentImpl.getConnection(DataSourceElement.java:361)
        at 
org.apache.jmeter.protocol.jdbc.config.DataSourceElement.getConnection(DataSourceElement.java:197)
        at 
org.apache.jmeter.protocol.jdbc.sampler.JDBCSampler.sample(JDBCSampler.java:79)
        at 
org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:627)
        at 
org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:551)
        at 
org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:490)
        at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:257)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLException: Cannot close a connection while a transaction 
is still active.
        at 
org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
        at org.apache.derby.client.am.SqlException.getSQLException(Unknown 
Source)
        at org.apache.derby.client.am.ClientConnection.closeResourcesX(Unknown 
Source)
        at org.apache.derby.client.am.ClientConnection.closeX(Unknown Source)
        at org.apache.derby.client.am.ClientConnection.close(Unknown Source)
        at org.apache.derby.client.net.NetConnection.close(Unknown Source)
        at 
org.apache.commons.dbcp2.DelegatingConnection.closeInternal(DelegatingConnection.java:239)
        at 
org.apache.commons.dbcp2.PoolableConnection.reallyClose(PoolableConnection.java:232)
        at 
org.apache.commons.dbcp2.PoolableConnectionFactory.destroyObject(PoolableConnectionFactory.java:367)
        at 
org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2402)
        at 
org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2381)
        ... 10 more
Caused by: ERROR 25001: Cannot close a connection while a transaction is still 
active.
        at 
org.apache.derby.client.am.ClientConnection.checkForTransactionInProgress(Unknown
 Source)
        ... 19 more


Отправлено с iPhone

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to