2013-03-23 115 views
3

我想從獨立應用程序連接到MySQL數據庫。沒有應用程序/ Web服務器。java - 用於獨立應用程序的DataSource - 沒有應用程序服務器

這個page建議我應該使用DriverManager創建連接。但是this頁面建議從DriverManager創建的連接不能合併。

但是連接池對我來說是必須的,因爲應用程序使用各種線程同時寫入數據庫,因此關閉/重新創建連接並不是最佳選擇。

  1. 我應該爲此使用哪個DataSource實現? 我看着MysqlConnectionPoolDataSource,但我不確定它是否實際實現了連接池。我也看過Tomcat DataSource,我確信它實現了一個連接池,但我不確定它是否可以在Tomcat之外使用。

  2. 當我關閉獨立應用程序時,應該怎麼做才能正確釋放連接/連接池?

編輯:它看起來像Tomcat的數據源是從獨立的應用程序usable,所以我要使用它。它也有一個我認爲會釋放連接的密切方法。

+3

查看C3P0或BoneCP的第三方連接池,而不管您使用的數據庫如何。 – 2013-03-23 15:23:43

+0

感謝您的建議。我會在將來記住這些內容 – arahant 2013-03-23 17:06:14

+1

'ConnectionPoolDataSource'不是連接池,可以通過提供池的'普通'數據源來使用**。 – 2013-03-24 07:41:58

回答

1
  1. 我會建議使用類似DBPool這樣的庫。由於開發者已經照顧過他們,所以會讓你感到頭痛不已。
  2. 爲確保正確清理連接池,請閱讀documentation關於JVM關閉掛鉤。
+0

感謝您的建議。我將爲未來記住這些 – arahant 2013-03-23 17:05:30