Jaka jest różnica między biblioteką MysqlConnectionPoolDataSource a biblioteką C3p0, BoneCP lub dbcp dla łączenia połączeń? Nie rozumiem, dlaczego warto korzystać z biblioteki, jeśli złącze mysql zapewnia łączenie puli.MysqlConnectionPoolDataSource lub c3p0 jak biblioteka?
5
A
Odpowiedz
3
ConnectionPoolDataSource
jest nie basen połączenia (lub co najmniej: nie powinien on być), jest przeznaczony do użytku przez DataSource
który zapewnia pul (np serwer aplikacji). A ConnectionPoolDataSource
zapewnia fizyczne połączenia, które będą utrzymywane w puli połączeń. Poza tworzeniem tych fizycznych połączeń, ConnectionPoolDataSource
nie powinno robić nic więcej.
Więc jeśli pracujesz na serwerze aplikacji, użyj pulingu dostarczonego przez serwer aplikacji DataSource
. Jeśli jesteś w samodzielnej aplikacji lub na serwerze, który nie dostarcza samodzielnie źródeł danych, użyj zewnętrznych pul połączeń takich jak BoneCP, c3p0 lub Apache DBCP. Jeśli MySQL zapewnia również normalny DataSource
, który zapewnia łączenie, możesz go użyć.
Oto kilka szczegółowych informacji na temat tego, co może najlepiej pasować do Twoich potrzeb http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-library-choice-in-2011-2012 –