2013-10-09 82 views
1

我正在開發適用於SMS網關的軟件: - 做許多選擇,插入,更新和刪除語句,例如每天超過一百萬次訪問數據庫。 - 我在管理數據庫連接等資源時遇到了一些困難,所以我不知道在哪裏關閉連接以最小化創建連接的數量。 - 我使用驅動程序管理器。 - 當我保持連接未關閉時,我在tomcat中發生內存泄漏。 - 在控制檯應用程序中有使用DAO的線程,並且有靜態連接,所以我不關閉它。我可以在jsp/servlet或控制檯應用程序中打開多少個數據庫連接?

1)查詢完成後不關閉數據庫的連接並保持打開狀態是否好主意?

2)我有servlet運行在http連接上接收SMS並將它們插入到數據庫中,並且我希望此servlet上有數千個http連接(可能每分鐘),我應該關閉併爲每個請求創建數據庫連接servlet的?

3)在這種情況下使用數據庫連接的最佳做法是什麼?

+0

Upvoted無法解釋,因此毫無意義,downvote。這個問題有一些不好的做法,但問題本身是完全有效的。感謝他真的在問這個問題。 – EJP

回答

4

在查詢完成後不關閉數據庫的連接並將其保持打開狀態是否不錯?

使用連接池,在需要時從中獲取連接並關閉它以儘快將其釋放回池是一個好主意。

我有使用靜態連接的線程,所以如果我關閉了連接,其他線程可能會異常嗎?

當然。這是最糟糕的做法。不要這樣做。往上看。

我的servlet運行以接收HTTP連接短信和在DB插入他們,我希望在這個servlet(也許每分鐘)成千上萬的HTTP連接,我將關閉,並創建爲每個請求的數據庫連接servlet的?

是的,但通過連接池,參見上文。

在這種情況下使用數據庫連接的最佳做法是什麼?

參見上文。

至於標題中的問題,它完全取決於數據庫配置。

相關問題