如何在persistence.xml和pom.xml中配置Hibernate c3p0

时间:2018-07-25 12:45:06

标签: hibernate maven pom.xml c3p0 persistence.xml

您好,我有一个使用Java + Hibernate + jersey的Maven应用程序。

启动时收到以下消息:使用Hibernate内置连接池(不适用于生产!)

因此,我正在寻找一种在我的应用程序上建立池连接的方法。我决定安装c3p0,但无法正常工作。

我的pom.xml:

....
....
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <version>5.2.6.Final</version>
</dependency>

<!-- Hibernate c3p0 connection pool -->
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.6.Final</version>
</dependency>

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-c3p0</artifactId>
    <version>5.2.6.Final</version>
</dependency>
<!-- Hibernate c3p0 connection pool -->
....
....

我的persistence.xml:

<persistence-unit name="comercialapp" transaction-type="RESOURCE_LOCAL">

   <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

   <class>br.com.comercialapp.webservice.model.domain.Cliente</class>

   <properties>

        <!-- Configuracoes do banco de dados -->
        <property name="hibernate.connection.driver_class" value="org.firebirdsql.jdbc.FBDriver"/>
        <property name="hibernate.connection.username" value="USERNAME"/>
        <property name="hibernate.connection.password" value="PASSWORD"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.FirebirdDialect" />

        <!-- Pool de conexoes -->
        <property name="hibernate.c3p0.min_size" value="5" />
        <property name="hibernate.c3p0.max_size"  value="20" />
        <property name="hibernate.c3p0.timeout"  value="3000" />
        <property name="hibernate.c3p0.max_statements"  value="50" />
        <property name="hibernate.c3p0.idle_test_period"  value="300" />


   </properties>
 </persistence-unit>

错误:

jul 25, 2018 9:42:51 AM com.mchange.v2.c3p0.SQLWarnings logAndClearWarnings
INFORMAÇÕES: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
java.sql.SQLWarning: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
    at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:120)
    at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:520)
    at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
    at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:117)
    at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:137)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
    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)

jul 25, 2018 9:42:51 AM org.firebirdsql.logging.JulLogger warn
ADVERTÊNCIA: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
jul 25, 2018 9:42:51 AM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.FirebirdDialect
jul 25, 2018 9:42:51 AM org.hibernate.engine.jdbc.env.internal.LobCreatorBuilderImpl useContextualLobCreation
INFO: HHH000424: Disabling contextual LOB creation as createClob() method threw error : java.lang.reflect.InvocationTargetException
jul 25, 2018 9:42:56 AM com.mchange.v2.c3p0.SQLWarnings logAndClearWarnings
INFORMAÇÕES: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
java.sql.SQLWarning: WARNING: No connection character set specified (property lc_ctype, encoding, charSet or localEncoding), defaulting to character set NONE
    at org.firebirdsql.jca.FBManagedConnection.<init>(FBManagedConnection.java:120)
    at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:520)
    at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:65)
    at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:117)
    at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:137)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
    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)

我认为我的配置不正确。

0 个答案:

没有答案