Druid數據庫連接池入門(一)

Druid連接池號稱是爲了監控而生的連接池,監控很重要,但像Druid這麼過分的監控,我真是有點蒙圈,感覺稍微有點過度設計的味道。

先來看下Druid連接池對象的關係:

簡單來說,數據源對象持有一個數組connections,數組存儲的對象是DruidConnectionHolder,線程每次取連接的時候,都是先從connections數組中取最後一個連接,然後組裝成DruidPooledConnection對象返回。

連接生成邏輯是先創建一個PhysicalConnectionInfo對象,再拿這個對象構造DruidConnectionHolder對象,再把DruidConnectionHolder對象放進connections數組。

 

Druid基本流程:

Druid創建連接有兩種方式:

  • 1、連接池 - ScheduledExecutorService

這種方式貌似不是默認的,如果要使用這種方式,需要配置:

<property name="createScheduler" value="" />

 

  • 2、守護線程

如果沒有配置連接池,在初始化連接池的時候就會把守護線程起起來,然後通過java Conditon來控制線程什麼時候創建連接。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章