gpt4 book ai didi

java - 具有 hibernate 和超时等待空闲对象异常的tomcat数据源

转载 作者:行者123 更新时间:2023-11-28 23:40:31 25 4
gpt4 key购买 nike

我正在使用 hibernate 的 Tomcat 数据源

<Resource 
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
maxActive="8" maxIdle="8" maxWait="10000"
username="*****"
name="jdbc/sakila" password="*****"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost/sakila"/>

在 hibernate 状态下

<propertyname="hibernate.connection.datasource">java:comp/env/jdbc/sakila</property>

实现后我面临以下异常

java.util.NoSuchElementException: Timeout waiting for idle object

这个异常发生在晚上,当我睡​​觉的时候 :) 当我早上去办公室时,我发现了这个异常。我认为这是 tomcat 提供的连接池异常?

请更新我!

这个hibernate适合用tomcat数据源吗?或者我们应该使用 C3P0 第三方连接轮询?

目前正在寻找tomcate数据源的解决方案

最佳答案

池中的连接数会自动增长,直到达到 maxActive。

根据 Tomcat 文档,maxActive 是:

可以同时从此池中分配的最大 Activity 连接数。默认值为 100

您严格限制并发数据库连接的最大数量为 8。

我建议将此数字至少增加到 50。然后开始监视池中的连接数。如果连接数稳步增长,而 Web 应用程序的使用量却没有增长,则可能存在连接泄漏。如果您确认这一点,则必须调查该泄漏。

与“过去”不同,如果您通过 Hibernate 连接到数据库并使用 Spring 等管理事务,连接泄漏就非常罕见。

关于java - 具有 hibernate 和超时等待空闲对象异常的tomcat数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20226076/

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