如何解决如何在Wildfly 10中配置hibernate.c3p0连接池
我们正在使用Wildfly 10,并在standalone-full.xml中配置了JNDI数据源。现在我们已经开始使用Hibernate,但是由于MySQLserver在8小时内关闭了空闲连接,因此我们需要重新启动wildfly服务器。我们没有配置c3p0池。我们是否通过在wildfly的数据源设置中添加任何设置来解决此问题,然后继续使用其池,还是应该开始使用c3p0?
-
如果建议继续使用现有的wildfly数据源,则如何解决此超时问题而不延长超时时间或不将autoReconnect添加到JDBC URL。
-
如果我们应该开始使用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 举报,一经查实,本站将立刻删除。