簡體   English   中英

具有C3P0數據庫連接的Activeweb / ActiveJDBC

[英]Activeweb/ActiveJDBC with C3P0 database connections

我試圖將ActiveWeb / ActiveJDBC連接配置為使用C3P0進行連接池。

我知道Javalite提供的文檔說每個事務都是單個打開/關閉的連接,但是也提到我們可以通過以下方式打開數據源:

new DB("default").open( cpds );

這使我認為,通過在AppControllerConfig上添加,可以攔截連接打開/關閉機制:

addGlobalFilters( new DBConnectionFilterTest("default", true)  );

...其中DBConnectionFilterTest是擴展DBConnectionFilter的自定義類,該類覆蓋打開和關閉連接的before / after行為。 使用ComboPooledDataSource在構造函數中配置數據源。

我想知道是否有人對此配置有任何見識,或者是否已成功將C3P0集成到activeweb / activeJDBC?

到目前為止,我得到的最遠的結果就是啟動C3P0。 我在會話監視器中看到5個連接,但是activeweb在執行事務時仍會啟動新連接。 C3P0池尚未移動。

由於您正在編寫自己的過濾器以打開和關閉連接,因此請不要忘記在請求完成后關閉連接。 這會將連接返回到池中。 檢出DBConnectionFilter代碼,特別是方法onException()after() 如果由於某種原因您不會關閉連接,ActiveWeb將嘗試為您關閉連接,但會在日志中進行投訴。

就個人而言,我使用來自Tomcat的內置池。 在繁重的生產環境中,它的性能沒有任何問題。 然后,使用DBConnectionFilter的標准實現。

暫無
暫無

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

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