tomcat7的數據庫連接池tomcatjdbc的25個優勢
tomcat的JDBC連接池org.apache.tomcat.jdbc.pool更換或替代嗎Apache Commons DBCP連接池。為什麼我們需要一個新的連接池?
這裏有幾個原因:
1.DBCP 1.x是單線程的。 為了成為線程安全的 共享鎖整個池在短時間內在兩個對象 分配和對象返回。 注意,這並不適用 下議院DBCP 2.x。
2.DBCP 1.x可以緩慢。 邏輯cpu數量的增加和 並發線程的數量試圖借或返回 對象的增加,性能會降低。 對高並發 係統可以顯著的影響。 請注意,這並不適用 Commons DBCP 2.x。
3.DBCP超過60類。 tomcat-jdbc-pool核心是8類, 因此未來需求將需要更少的修改 的變化。 這是所有你需要運行連接池本身 休息是肉汁。
4.DBCP使用靜態接口。 這意味著你必須使用 正確的版本為給定的JRE版本或您可能會看到NoSuchMethodException例外。
5.不值得重寫60多個類,當一個連接池 是一個更簡單的實現完成。
6.Tomcat jdbc池實現檢索連接的能力 異步,無需增加額外的線程庫 本身。
7.Tomcat jdbc池是Tomcat模塊,這取決於Tomcat朱莉·, 簡化的日誌框架用於Tomcat。
8.檢索底層連接使用javax.sql.PooledConnection接口。
9.饑餓的證明。 如果池是空的,和線程正在等待 返回連接,連接時,將醒著 正確的線程等待。 大多數池隻會餓死。
10.特性增加了其他連接池實現
11.支持高並發環境和多核心/ cpu係統。
12.動態實現的接口,將支持java.sql和javax.sql接口 您的運行時環境(隻要你的JDBC驅動程序做了同樣的事情),即使編譯較低版本的JDK。
13.驗證間隔——我們不需要驗證我們每一次使用的連接,我們可以做到這一點 當我們借或返回的連接,就不是我們可以配置比間隔更頻繁。
14.Run-Once查詢,一個可配置的查詢,將隻運行一次,當連接到數據庫。 非常有用的設置會話設置,您想要存在在整個時間建立連接。
15.配置自定義攔截器的能力。 這允許您編寫自定義攔截器來增強功能。 您可以使用攔截器收集查詢統計, 緩存會話狀態,重新連接失敗,重試查詢,緩存查詢結果,等等。 你的選擇是無盡的,攔截器是動態的,而不是綁定到一個JDK版本的java.sql/javax.sql接口。
16.高性能——我們將展示一些性能上的差異
17.非常簡單,由於非常簡化實現,行數和源文件數量非常低,和c3p0相比 有200多個源文件(上次我們檢查),Tomcat jdbc 8的核心文件,連接池本身就是一半 那 錯誤可能發生,他們會更快的追蹤,和更容易修複。 減少複雜性一直是重點從《盜夢空間》。
18.異步檢索——你可以連接你的連接請求和接收隊列Future<Connection>回來了。
19.更好的空閑連接處理。 而不是直接關閉連接,它仍然可以連接池大小和空閑池的智能算法。
20.你可以決定什麼時候連接被認為是放棄了,當池滿了,還是直接在超時 通過指定一個池的使用門檻。
21.放棄連接計時器將重置/查詢活動發表聲明。 允許一個連接,在使用很長一段時間不超時。 這是通過使用ResetAbandonedTimer
22.關閉連接後,連接為一個特定的時間。 年齡接近基於返回到池中。
23.JMX通知,當連接被懷疑是廢棄的日誌條目。 這類似於 的removeAbandonedTimeout但它不采取任何行動,隻是報告的信息。 這是通過使用suspectTimeout屬性。
24.連接可以從檢索java.sql.Driver,javax.sql.DataSource或javax.sql.XADataSource這是通過使用dataSource和dataSourceJNDI屬性。
25.支持 JMX,支持 XA Connection
tomcat7的數據庫連接池tomcatjdbc的25優勢
最後更新:2017-04-03 05:39:19