Hello,
I have a weird problem with Hibernate 2.1.3 configured to use c3p0 pooling to MS SQL Server 2000 database. I use Hibernate under Jetty.
With 2.1.2 I have no problem. With 2.1.3 I get the following exception when trying to query the database:
14:07:23,910 ERROR JDBCExceptionReporter:46 - com.mchange.v2.c3p0.PoolBackedDataSource@1742700 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@53fb57 [ acquireIncrement -> 2, autoCommitOnClose -> false, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, idleConnectionTestPeriod -> 3000, initialPoolSize -> 1, maxIdleTime -> 5000, maxPoolSize -> 10, maxStatements -> 100, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@acb158 [ description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> jdbc:microsoft:sqlserver://mainframe;DatabaseName=GeminiBJmefiu;SelectMethod=cursor;SendStringParametersAsUnicode=false, properties -> {user=sa, password=} ] , propertyCycle -> 300, testConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThreads -> 3 ] has been closed() -- you can no longer use it.
14:07:23,910 ERROR JDBCExceptionReporter:38 - Cannot open connection
java.sql.SQLException: com.mchange.v2.c3p0.PoolBackedDataSource@1742700 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@53fb57 [ acquireIncrement -> 2, autoCommitOnClose -> false, connectionTesterClassName-> com.mchange.v2.c3p0.impl.DefaultConnectionTester, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions ->false, idleConnectionTestPeriod -> 3000, initialPoolSize -> 1, maxIdleTime -> 5000, maxPoolSize -> 10, maxStatements ->100, minPoolSize -> 1, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@acb158 [ description -> null, driverClass -> null, factoryClassLocation -> null, jdbcUrl -> jdbc:microsoft:sqlserver://mainframe;DatabaseName=GeminiBJmefiu;SelectMethod=cursor;SendStringParametersAsUnicode=false, properties -> {user=sa, password=mKaf#1e} ] , propertyCycle-> 300, testConnectionOnCheckout -> false ] , factoryClassLocation -> null, numHelperThreads -> 3 ] has been closed() -- you can no longer use it.
at com.mchange.v2.c3p0.PoolBackedDataSource.assertCpds(PoolBackedDataSource.java:129)
at com.mchange.v2.c3p0.PoolBackedDataSource.getPoolManager(PoolBackedDataSource.java:141)
at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:58)
at net.sf.hibernate.connection.C3P0ConnectionProvider.getConnection(C3P0ConnectionProvider.java:33)
at net.sf.hibernate.impl.BatcherImpl.openConnection(BatcherImpl.java:278)
at net.sf.hibernate.impl.SessionImpl.connect(SessionImpl.java:3297)
at net.sf.hibernate.impl.SessionImpl.connection(SessionImpl.java:3277)
at net.sf.hibernate.impl.BatcherImpl.prepareQueryStatement(BatcherImpl.java:65)
at net.sf.hibernate.loader.Loader.prepareQueryStatement(Loader.java:704)
at net.sf.hibernate.loader.Loader.doQuery(Loader.java:185)
at net.sf.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:133)
at net.sf.hibernate.loader.Loader.doList(Loader.java:955)
at net.sf.hibernate.loader.Loader.list(Loader.java:946)
at net.sf.hibernate.hql.QueryTranslator.list(QueryTranslator.java:834)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1536)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1513)
at net.sf.hibernate.impl.SessionImpl.find(SessionImpl.java:1509)
This is not the problem of upgraded c3p0 in 2.1.3 - I have setup a server with Hibernate 2.1.2 and c3p0 from 2.1.3 - it works.
|