2012-04-09 53 views
1

您好我正在使用Spring,Hibernate 3和JPA,我已經配置我的JUnit測試連接到一個HSQLDB(內存)而不是MySQL數據庫,我用於我的應用程序。這一段時間工作的罰款,直到最近,剛走出藍,我不能連接到HSQLDB繼承人的堆棧跟蹤和我的.XML和的.properties配置文件無法連接到HSQLDB後運行幾個測試(哪些工作之前)

11:06:41,979   INFO Dialect:206 - Using dialect: org.hibernate.dialect.HSQLDialect 
11:06:41,986   INFO JdbcSupportLoader:70 - Disabling contextual LOB creation as connection was null 
11:06:41,987   INFO TransactionFactoryFactory:62 - Transaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory 
11:06:41,988   INFO TransactionManagerLookupFactory:80 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 
11:06:41,988   INFO SettingsFactory:169 - Automatic flush during beforeCompletion(): disabled 
11:06:41,988   INFO SettingsFactory:173 - Automatic session close at end of transaction: disabled 
11:06:41,989   INFO SettingsFactory:188 - Scrollable result sets: disabled 
11:06:41,990   INFO SettingsFactory:196 - JDBC3 getGeneratedKeys(): disabled 
11:06:41,990   INFO SettingsFactory:204 - Connection release mode: auto 
11:06:41,991   INFO SettingsFactory:231 - Default batch fetch size: 1 
11:06:41,991   INFO SettingsFactory:235 - Generate SQL with comments: disabled 
11:06:41,991   INFO SettingsFactory:239 - Order SQL updates by primary key: disabled 
11:06:41,991   INFO SettingsFactory:243 - Order SQL inserts for batching: disabled 
11:06:41,992   INFO SettingsFactory:410 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 
11:06:41,994   INFO ASTQueryTranslatorFactory:47 - Using ASTQueryTranslatorFactory 
11:06:41,994   INFO SettingsFactory:251 - Query language substitutions: {} 
11:06:41,994   INFO SettingsFactory:256 - JPA-QL strict compliance: disabled 
11:06:41,994   INFO SettingsFactory:261 - Second-level cache: enabled 
11:06:41,994   INFO SettingsFactory:265 - Query cache: disabled 
11:06:41,995   INFO SettingsFactory:395 - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory 
11:06:41,995   INFO SettingsFactory:275 - Optimize cache for minimal puts: disabled 
11:06:41,995   INFO SettingsFactory:284 - Structured second-level cache entries: disabled 
11:06:42,000   INFO SettingsFactory:304 - Echoing all SQL to stdout 
11:06:42,001   INFO SettingsFactory:313 - Statistics: disabled 
11:06:42,001   INFO SettingsFactory:317 - Deleted entity synthetic identifier rollback: disabled 
11:06:42,001   INFO SettingsFactory:332 - Default entity-mode: pojo 
11:06:42,002   INFO SettingsFactory:336 - Named query checking : enabled 
11:06:42,002   INFO SettingsFactory:340 - Check Nullability in Core (should be disabled when Bean Validation is on): enabled 
11:06:42,063   INFO SessionFactoryImpl:199 - building session factory 
11:06:42,315   INFO SessionFactoryObjectFactory:105 - Not binding factory to JNDI, no JNDI name configured 
11:06:42,323   INFO SchemaExport:226 - Running hbm2ddl schema export 
11:06:42,325   INFO SchemaExport:251 - exporting generated schema to database 
11:07:11,327   WARN BasicResourcePool:1224 - [email protected]5 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (30). 
11:07:11,327   WARN JDBCExceptionReporter:100 - SQL Error: 0, SQLState: null 
11:07:11,328  ERROR JDBCExceptionReporter:101 - Connections could not be acquired from the underlying database! 
11:07:11,329  ERROR SchemaExport:274 - schema export unsuccessful 
java.sql.SQLException: Connections could not be acquired from the underlying database! 
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:104) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:264) 
    at com.mchange.v2.c3p0.PoolBackedDataSource.getConnection(PoolBackedDataSource.java:94) 
    at com.mchange.v2.c3p0.ComboPooledDataSource.getConnection(ComboPooledDataSource.java:521) 
    at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81) 
    at org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.prepare(SuppliedConnectionProviderConnectionHelper.java:51) 
    at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252) 
    at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211) 
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:383) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385) 
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:954) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779) 
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:848) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:790) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:551) 
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:103) 
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1) 
    at org.springframework.test.context.support.DelegatingSmartContextLoader.loadContext(DelegatingSmartContextLoader.java:228) 
    at org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:124) 
    at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:148) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109) 
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75) 
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) 
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174) 
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source. 
    at com.mchange.v2.resourcepool.BasicResourcePool.awaitAcquire(BasicResourcePool.java:972) 
    at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:208) 
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:260) 
+0

更多與配置文件: – ThaSaleni 2012-04-09 09:16:33

+0

test-configuration.properties jdbc.driver.className = org.hsqldb.jdbcDriver \t jdbc.url = JDBC:HSQLDB:MEM:單元測試-JPA \t jdbc.username =根 jdbc.password = root jdbc.hibernate.dialect = org.hibernate.dialect.HSQLDialect – ThaSaleni 2012-04-09 09:19:37

+0

是否正確關閉連接?發佈代碼和配置文件的數據庫連接部分。 – ManuPK 2012-04-09 13:49:16

回答

0

我不得不使用HSQLDB同樣的問題如在內存數據庫中。特別是我也使用com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool。原來,JAR hsqldb.jar不在課程路徑中。添加後,一切正常。

相關問題