簡體   English   中英

我可以在jsp / servlet或控制台應用程序中打開多少個數據庫連接?

[英]How many database connections I can open in jsp/servlet or in console application?

我正在為SMS Gateway開發軟件: - 每天都有超過一百萬的數據庫選擇,插入,更新和刪除多個語句。 - 我在管理數據庫連接等資源時遇到一些困難,所以我不知道在哪里關閉連接以最小化創建的連接數。 - 我使用Driver Manager。 - 當我保持連接未閉合時,我在tomcat中出現內存泄漏。 - 在控制台應用程序中有使用DAO的線程和靜態連接,所以我不關閉它。

1)在查詢完成后不關閉DB的連接並保持打開狀態是否是個好主意?

2)我有servlet運行在http連接上接收SMS並將它們插入到DB中,我希望這個servlet上有數千個http連接(可能每分鍾),我是否應該為每個servlet請求關閉並創建數據庫連接?

3)在這種情況下使用DB Connections的最佳做法是什么?

在查詢完成后不關閉數據庫連接並將其保持打開狀態是否是個好主意?

最好使用連接池,在需要時從中獲取連接,然后關閉它以盡快將其釋放回池中。

我有使用靜態連接的線程,所以如果我關閉連接,其他線程獲得異常是否可能?

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

我有servlet運行在http連接上接收SMS並將它們插入到DB中,我希望這個servlet上有數千個http連接(可能每分鍾),我是否應關閉並為每個servlet請求創建數據庫連接?

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

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

往上看。

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

暫無
暫無

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

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