2013-04-04 18 views
5

Qual è la differenza tra MysqlConnectionPoolDataSource e C3p0, BoneCP o la libreria dbcp per il pool di connessioni? Non capisco perché usare una libreria se il connettore mysql fornisce il pool di connessioni.MysqlConnectionPoolDataSource o libreria simile a c3p0?

+0

Ecco alcuni ulteriori dettagli su ciò che potrebbe essere più adatto alle tue esigenze http://stackoverflow.com/questions/5640146/java-jdbc-connection-pool-library-choice-in-2011-2012 –

risposta

3

Un ConnectionPoolDataSource è non un pool di connessione (o almeno: non dovrebbe essere), è destinato ad essere utilizzato da un DataSource che fornisce il pool (ad esempio da un server applicativo). Un ConnectionPoolDataSource fornisce le connessioni fisiche che verranno mantenute nel pool di connessioni. Oltre a creare quelle connessioni fisiche, un ConnectionPoolDataSource non dovrebbe fare altro.

Pertanto, se si sta lavorando in un server applicazioni, utilizzare il pool fornito dai server DataSource del server applicazioni. Se si è in un'applicazione autonoma o in un server che non fornisce origini dati, utilizzare pool di connessione di terze parti come BoneCP, c3p0 o Apache DBCP. Se MySQL fornisce anche un normale DataSource che fornisce il pool, è possibile utilizzarlo.