Tomcat的數據庫連接池,Connection用完後要關閉

    一般來說,在tomcat中配置數據庫連接池,而我們不停的建立數據庫連接,而沒有關閉數據庫的連接的話就會產生這樣的異 常:Cannot get a connection, pool exhaustedCannot get a connection, pool exhausted 。其實,這是由於連接池中的連接被消耗殆盡的緣故。我們實際上,在開發中應該養成良好的開發習慣,就是在用完連接後應該馬上關閉Connection,這 樣就很好的解決了這樣的問題。

    可能有人會說,那每次用完池的連接都要關閉數據庫的連接,那池就不起作用了嗎?那不就是用完一次連接就關閉,然後再次建立連接,這樣效率不是依然很低嗎? 其實不然,這裏調用con.close()其實並沒有把這個連接真正的關閉掉,而是容許池把此連接再次放回到池中分配給別的客戶端來使用,所以大可以放心 的關閉連接,而不影響連接池的效率。

    當然,這不是唯一的解決方案,但是我認爲這是最好的解決方案。但是,如果你在編程的時候的確是忘記關閉數據庫的連接,那依然有其他的解決方案:(當然最好是在finally中關閉con)

    1. 可以重新啓動你的tomcat服務器,這是最靈的解決方案,不過沒什麼技術含量
    2. 在數據源的配置文件中把maxactive屬性的值調整到更大,比如100

發佈了25 篇原創文章 · 獲贊 16 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章