JDBC Connection Pool Establishment
Establishing a JDBC connection pool is a common task when developing data-driven Java applications. There are various approaches to this, each with its own advantages and drawbacks.
Standalone Connection Pools
If you require a standalone connection pool, C3P0 is a popular choice over DBCP due to its stability under high load. Its usage is straightforward, as illustrated in the code snippet below:
ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass("org.postgresql.Driver"); cpds.setJdbcUrl("jdbc:postgresql://localhost/testdb"); cpds.setUser("swaldman"); cpds.setPassword("test-password"); cpds.setMinPoolSize(5); cpds.setAcquireIncrement(5); cpds.setMaxPoolSize(20);
This creates a fully configured DataSource that can be used for obtaining connections via cpds.getConnection().
Application Server Connection Pools
For applications deployed on application servers, utilizing the built-in connection pool is recommended. Configuration and retrieval of the DataSource is typically performed through JNDI:
DataSource ds = (DataSource) new InitialContext().lookup("jdbc/myDS");
By using the JNDI name, you can access the pre-configured connection pool provided by the application server.
Choosing between JDBC and Java EE Pooled Connections
Java EE provides its own pooled connection implementations via javax.sql.DataSource. These implementations may be more suitable for applications running in a Java EE environment. However, standalone connection pools like C3P0 offer more flexibility and fine-tuned control over connection management. The choice depends on the specific requirements and infrastructure of your application.
The above is the detailed content of How to Choose Between Standalone and Application Server JDBC Connection Pools?. For more information, please follow other related articles on the PHP Chinese website!