繁体   English   中英

带有休眠和超时的tomcat数据源,等待空闲对象异常

[英]tomcat datasource with hibernate and Timeout waiting for idle object exception

我在休眠状态下使用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"/>

并处于休眠状态

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

实施后,我面临以下异常

java.util.NoSuchElementException: Timeout waiting for idle object

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

请更新我!

这适合将tomcat数据源与hibernate一起使用吗? 还是应该使用C3P0第三方连接轮询?

目前,正在寻找解决方案以合并数据源

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

根据Tomcat文档,maxActive为:

可以同时从该池分配的最大活动连接数。 默认值为100

您已将最大同时数据库连接数限制为8个。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM