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?
risposta
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.
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 –