[英]Spring & Hibernate c3p0 Error Could not complete schema validation
In our project we use Spring & Hibernate. 在我们的项目中,我们使用Spring&Hibernate。 On the server and other Developers machine project runs successfully. 在服务器和其他Developers机器上的项目成功运行。 However, after I update my project by SVN, I get an error list which is down, and I couldn't solve it for two long days. 但是,用SVN更新项目后,我得到了一个错误列表,该列表已关闭,并且很长一段时间都无法解决。 I have read many articles about it, and try but problem is not solved. 我已经阅读了许多有关它的文章,并尝试但问题仍未解决。 Even, I have removed project completely and checkout again, restore DB but nothing changed. 甚至,我已经完全删除了项目并再次签出,还原了数据库,但没有任何更改。 MySql is checked and working, MySql已检查并正常工作,
Here is errors: 这是错误:
Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
2013-01-16 04:36:22,512 ERROR [org.hibernate.tool.hbm2ddl.SchemaValidator] - could not complete schema validation
java.sql.SQLException: Connections could not be acquired from the underlying database!
...
2013-01-16 04:36:22,526 WARN [net.sf.ehcache.hibernate.AbstractEhcacheRegionFactory] - Couldn't find a specific ehcache configuration for cache named [org.hibernate.cache.StandardQueryCache]; using defaults.
2013-01-16 04:36:33,475 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@10dba0d -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
2013-01-16 04:36:33,476 WARN [com.mchange.v2.async.ThreadPoolAsynchronousRunner] - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@10dba0d -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 1
Active Threads: 1
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3128482b (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@4b9a1843
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
java.lang.Thread.sleep(Native Method)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1805)
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
2013-01-16 04:36:51,878 WARN [com.mchange.v2.resourcepool.BasicResourcePool] - com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@3128482b -- 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). Last acquisition attempt exception:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:264)
at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:223)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:134)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
Here is Hiernate > c3p0 conf 这是Hiernate> c3p0 conf
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialPoolSize" value="1" />
<property name="minPoolSize" value="1" />
<property name="maxPoolSize" value="5" />
<property name="idleConnectionTestPeriod" value="500" />
<property name="acquireIncrement" value="1" />
<property name="maxStatements" value="50" /> <!-- I tried this value = 0 it does not work -->
<property name="numHelperThreads" value="1" />
</bean>
DB.properties DB.properties
hibernate.hbm2ddl.auto=validate
hibernate.hbm2ddl.import_files=/import_standard.sql
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.generate_statistics=false
hibernate.use_sql_comments=true
hibernate.query.factory_class=org.hibernate.hql.ast.ASTQueryTranslatorFactory
hibernate.cache.use_query_cache=true
hibernate.cache.region.factory_class=net.sf.ehcache.hibernate.SingletonEhCacheRegionFactor
hibernate.cache.use_second_level_cache=true
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/asd?autoReconnect=true
jdbc.username=asd
jdbc.password=asdasd
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
Ehcahce.xml Ehcahce.xml
<?xml version="1.0" encoding="UTF-8"?>
<cache
name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="50000"
eternal="true"
overflowToDisk="true"/>
<defaultCache
maxElementsInMemory="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
overflowToDisk="true"
maxElementsOnDisk="10000000"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"/>
<cache
name="ncStandardElements"
maxElementsInMemory="100000"
eternal="false"
overflowToDisk="true"
timeToLiveSeconds="600"/>
<cache
name="ncOrderElements"
maxElementsInMemory="100000"
eternal="false"
overflowToDisk="true"
timeToLiveSeconds="60"/>
<cache
name="ncAdminElements"
maxElementsInMemory="100000"
eternal="false"
overflowToDisk="true"
timeToLiveSeconds="60"/>
I am new at Spring and Hibernate, as reading on articles, these code blocks are important and should be managed. 我是Spring和Hibernate的新手,在阅读文章时,这些代码块很重要,应该加以管理。 If any other code blocks is needed please comment it. 如果需要任何其他代码块,请对其进行注释。
您应该将以下行放入dataSource bean
<property name="driverClass" value="${jdbc.driverClassName}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.