gpt4 book ai didi

java - 使用 Hibernate 和 Spring 时连接过多

转载 作者:行者123 更新时间:2023-11-29 01:30:41 25 4
gpt4 key购买 nike

我在我的项目中使用 Spring 和 Hibernate。我用这样的 Prop

        <prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.dialect">${chassis.storage.hibernate.dialect}</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.jdbc.batch_size">${chassis.storage.hibernate.batch_size}</prop>
<prop key="hibernate.c3p0.min_size">5</prop>
<prop key="hibernate.c3p0.max_size">50</prop>
<prop key="hibernate.c3p0.timeout">300</prop>
<prop key="hibernate.c3p0.max_statements">50</prop>
<prop key="hibernate.c3p0.idle_test_period">3000</prop>

当我写一些数据时我使用这样的代码

    getHibernateTemplate().execute(new HibernateCallback<Void>() {
@Override
public Void doInHibernate(Session session) throws HibernateException, SQLException {
for (Data data : datas) {
session.persist(data);
}
session.flush();
return null;
}
});

但我有一个异常(exception)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"

我使用 netstat -an | grep 3306 并看到很多连接。问题是什么,你怎么看?

最佳答案

问题出在数据源中。我用过

org.springframework.jdbc.datasource.DriverManagerDataSource

现在我使用 org.apache.commons.dbcp.BasicDataSource 并且它工作得很好!

在这里查看类似的问题 - Single database connection with HibernateTemplate and SessionFactory

关于java - 使用 Hibernate 和 Spring 时连接过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com