[英]Connection Pooling Scanario in Tomcat
我試圖了解數據庫連接池中的特定方案。 任何關於此的指示都將非常有用。
設置 :
配置webapp :
webapp的context.xml具有數據庫連接池的以下參數:
<Context path=...
<Resource name=... maxActive="20" maxIdle="18"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
validationQuery="select 1" testOnBorrow="true"... />
</Context>
場景 :
webapp打開並關閉了很多連接。 但是,當webapp不再與dB進行交易時,池保持其中的18個(作為maxIdle = 18)。
現在,在這個時間點,單獨的Pure Java獨立應用程序請求數據庫連接。 MySQL服務器將如何響應?
如果我不清楚這個場景,請告訴我,我會進一步澄清。
干杯,羅希特
數據庫服務器不知道打開的連接是否來自池。 對於DB服務器,它只是一個開放的連接,它永遠不會主動關閉它。
池的連接限制與數據庫的總連接限制無關。 它只是該特定連接池的限制。 只要尚未達到為服務器配置的總限制,其他應用程序就能夠分配連接。
當然,讓連接池保持大量(空閑)連接打開將意味着您更快地達到配置的服務器限制(MySQL的默認值為100)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.