如何在Wildfly 10中配置hibernate.c3p0连接池

问题描述

我们正在使用Wildfly 10,并在standalone-full.xml中配置了JNDI数据源。现在我们已经开始使用Hibernate,但是由于MySQLserver在8小时内关闭了空闲连接,因此我们需要重新启动wildfly服务器。我们没有配置c3p0池。我们是否通过在wildfly的数据源设置中添加任何设置来解决此问题,然后继续使用其池,还是应该开始使用c3p0?

  1. 如果建议继续使用现有的wildfly数据源,则如何解决此超时问题而不延长超时时间或不将autoReconnect添加到JDBC URL。

  2. 如果我们应该开始使用c3p0,我们如何配置它? 我已经添加了此代码来获取数据源-

    DataSource ds_unpooled = DataSources.unpooledDataSource("jdbc:mariadb://localhost:3306/db123","user1","test1");
    
    Map overrides = new HashMap();
    overrides.put("maxStatements","200");         //Stringified property values work
    overrides.put("maxPoolSize",new Integer(50)); //"boxed primitives" also work
    
    // create the PooledDataSource using the default configuration and our overrides
    ds_pooled = DataSources.pooledDataSource( ds_unpooled,overrides );  
    

并将c3p0-service.xml放置在\ standalone \ configuration文件夹中-

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE server>

<server>
   <mbean code="com.mchange.v2.c3p0.jboss.C3P0PooledDataSource"
          name="jboss:service=C3P0PooledDataSource">
     
      <attribute name="JndiName">java:jboss/sample</attribute>   <!--same as the one being set in wildfly-standalone-full.xml -->
      <attribute name="JdbcUrl">jdbc:mariadb://localhost:3306/db123</attribute>
      <attribute name="DriverClass">org.mariadb.jdbc.Driver</attribute>
      <attribute name="User">user1</attribute>
      <attribute name="Password">test1</attribute>

      <depends>jboss:service=Naming</depends>
   </mbean>

</server>

此后,我仍然无法连接到数据库,并且没有合适的驱动程序异常-

Caused by: java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:315)
    at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:120)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
    at org.hibernate.internal.NonContextualJdbcConnectionAccess.obtainConnection(NonContextualJdbcConnectionAccess.java:35)
    at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:106)
    ... 125 more

试图弄清楚如何将驱动程序详细信息传递给c3p0。

感谢您的帮助。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...