簡體   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