簡體   English   中英

tomcat-jdbc數據源PoolProperties配置

[英]tomcat-jdbc Datasource PoolProperties configuration

我正在使用tomcat-jdbc連接數據庫。 我正在使用以下PoolProperties p.setUrl(url); p.setDriverClassName(dirverClassName);//"mysqlDriver" p.setUsername(userName); p.setPassword(passWord); p.setJmxEnabled(true); p.setTestWhileIdle(false); p.setTestOnBorrow(true); p.setValidationQuery(validationQuery);//"select 1" p.setTestOnReturn(false); p.setValidationInterval(30000); p.setTimeBetweenEvictionRunsMillis(30000); p.setMaxActive(8); p.setInitialSize(1); p.setMaxWait(1000*60*1); p.setRemoveAbandonedTimeout(2000); p.setMinEvictableIdleTimeMillis(30000); p.setMinIdle(1); p.setMaxIdle(2); p.setLogAbandoned(true); p.setRemoveAbandoned(true); p.setUrl(url); p.setDriverClassName(dirverClassName);//"mysqlDriver" p.setUsername(userName); p.setPassword(passWord); p.setJmxEnabled(true); p.setTestWhileIdle(false); p.setTestOnBorrow(true); p.setValidationQuery(validationQuery);//"select 1" p.setTestOnReturn(false); p.setValidationInterval(30000); p.setTimeBetweenEvictionRunsMillis(30000); p.setMaxActive(8); p.setInitialSize(1); p.setMaxWait(1000*60*1); p.setRemoveAbandonedTimeout(2000); p.setMinEvictableIdleTimeMillis(30000); p.setMinIdle(1); p.setMaxIdle(2); p.setLogAbandoned(true); p.setRemoveAbandoned(true);

我有兩個問題

1>我經常從數據源獲得連接。 有時超過maxActive。 同時,DB中的某些連接處於睡眠模式。 MinEvictableIdleTimeMillis之后,睡眠連接將關閉。 所以我收到以下錯誤

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

2>有時我需要保持長時間連接,因為我一次插入了凸起數據。 因此,我為MinEvictableIdleTimeMillis設置了較大的值。 MinEvictableIdleTimeMillis時間設置為更大會增加連接睡眠時間。

我想我錯誤地使用了屬性。 請幫我解決問題。 請指導我正確配置數據源。 提前致謝

1)第一個問題似乎已經達到服務器中可用的最大連接數。 我實際上不知道它是如何發生的(以防萬一,請檢查您的max_connections MySQL變量)。 您確定要從連接池獲取所有連接嗎? 也許您在Java代碼中獲得了一些不是來自連接池的連接(因為它應該進行檢查)。 還要確保返回使用的每個ResultSetStatementConnection (在完成所有這些對象的調用后,在finally塊內調用close()方法)

2)我不確定為什么您要在Web應用程序中將數據庫連接保持空閑狀態30秒鍾; 如果您長時間“占用”您的連接,可能會導致飢餓。 請重新考慮這是否確實有必要,或者是否可以重新設計您正在做的事情,以便減少對數據庫連接的限制

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM