DHM*_*DHM 8 hibernate jpa jetty c3p0 tomcat6
在尝试按照我能找到的所有示例配置c3p0之后,我仍然在获得JDBC超时.我正在使用JPA,Hibernate,Tomcat,MySQL [AWS RDS].这是persistence.xml的片段:
<property name="javax.persistence.jdbc.url"
value="jdbc:mysql://url..." />
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider"/>
<property name="hibernate.c3p0.acquire_increment" value="4" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.max_statements" value="15" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.timeout" value="100" />
Run Code Online (Sandbox Code Playgroud)
和错误日志:
09:18:51.776 WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 08S01
09:18:51.777 ERROR org.hibernate.util.JDBCExceptionReporter - The last packet successfully received from the server was 38,491,585 milliseconds ago. ...
Run Code Online (Sandbox Code Playgroud)
Sni*_*las 19
我从这个博客找到了答案:http: //blog.hpxn.net/2009/02/05/using-c3p0-and-hibernate-3/
persistence.xml中的属性是错误的,你应该从hibernate开始拼写它们:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="mypersistenceunitname">
<properties>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
<!-- Important -->
<property name="hibernate.connection.provider_class"
value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.min_size" value="0" />
<property name="hibernate.c3p0.acquire_increment" value="1" />
<property name="hibernate.c3p0.idle_test_period" value="300" />
<property name="hibernate.c3p0.max_statements" value="0" />
<property name="hibernate.c3p0.timeout" value="100" />
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
然后,您将看到这个神话般的日志:
2011-08-15 08:58:33 com.mchange.v2.c3p0.C3P0Registry banner
INFO: Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10]
2011-08-15 08:58:33 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager
INFO: Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@f3a94e12 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@6297f706 ....
Run Code Online (Sandbox Code Playgroud)
此致,Stéphane(对不起,赏金)
配置看起来没问题。激活日志记录并确保 C3P0 以适当的设置启动。
2010-10-16 11:58:31,271 INFO [main] ohcConnectionProviderFactory [ConnectionProviderFactory.java:173] 初始化连接提供程序:org.hibernate.connection.C3P0ConnectionProvider ...
| 归档时间: |
|
| 查看次数: |
28833 次 |
| 最近记录: |