我使用Tomcat上6.在Tomcat的游泳池是我的資源定義:tomcat池不重置池。獲得太多的連接錯誤
<Resource name="jdbc/DBConnectionFactory"
auth="Container"
type="javax.sql.DataSource"
username="root"
password="root"
removeAbandoned="true"
removeAbandonedTimeout="600"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/sicad?autoReconnect=true"
minIdle="3"
maxActive="250"
testWhileIdle="true"
validationQuery="SELECT 1"
maxIdle="10"
timeBetweenEvictionRunsMillis="10000"
minEvictableIdleTimeMillis="10000"
maxWait="-1"
/>
現在,理想後要250個連接所有的空閒連接應該由一些被刪除,或至少意味着mysql不應該給太多連接錯誤。此外,請注意,如果我做showprocesslist,幾乎沒有任何併發查詢進行。所以我在想,那個時候,兩個人之間的輪椅磨合應該做到清除空閒連接並保持活力。但只要設置了250個連接,mysql就會啓動拋出太多連接錯誤。我期待tomcat池會刪除池中的空閒連接,以保持池的大小合理。還要注意的是,它並不是說創造了這麼多。
更糟糕的是,這種配置正在開發者機器和登臺服務器+測試服務器上工作,而不是在產品服務器上。所有的機器都是彼此的克隆。我重新啓動了機器,重新安裝了mysql,但所有內容都是徒勞的。
您是否在與'DataSource'獲取連接的地方''try'塊的'finally'塊中使用後關閉了連接? – BalusC
是的,當然:) – arya