c3p0 - JDBC3 Connection and Statement Pooling

  •        4774

c3p0 is an easy-to-use library for making traditional JDBC drivers "enterprise-ready" by augmenting them with functionality defined by the jdbc3 spec and the optional extensions to jdbc2. It provides (DriverManager-based) JDBC drivers with JNDI-bindable DataSources, including DataSources that implement Connection and Statement Pooling, as described by the jdbc3 spec and jdbc2 std extension.

A connection pool is used to minimize the number of connections opened between application and database. Statement pool stores a partially compiled version of a statement in order to increase performance.




Related Projects

DBPool - Java Database Connection Pooling

A Java-based database connection pooling utility, supporting Time-based expiry, Statement caching, Connection validation, and easy configuration using a pool manager.

Vibur DBCP - A concurrent and dynamic JDBC connection pool.

Vibur DBCP is a concurrent, fast and fully-featured JDBC connection pool based on Java dynamic proxies. It supports a fairness parameter, statement caching, SQL queries logging, and Hibernate integration, among other features.

Libzdb - Connection Pool Library in C

Libzdb is a small, fast and easy to use Database Connection Pool Library. It is thread safe and connects to database like MySQL, PostgreSQL, SQLLite and Oracle.

DBCP - Java Database Connection Pooling library

Creating a new connection for each user can be time consuming (often requiring multiple seconds of clock time), in order to perform a database transaction that might take milliseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large. Accordingly, developers often wish to share a "pool" of open connections between all of the application's current users.

Proxool - Java connection pool

Proxool is a Java connection pool. It transparently adds connection pooling to your existing JDBC driver. The performance of database connections could be monitored. It's easy to configure using the JDBC API, XML, or Java property files. It complies with the J2SE standards.

SQL Relay - Database Connection Pool library with API available in all programming languages

SQL Relay is a persistent database connection pooling, proxying and load balancing system for Unix and Linux supporting ODBC, and all major databases. It has APIs for C, C++, ODBC, Perl, Perl-DBI, Python, Python-DB, Zope, PHP, Ruby, Ruby-DBI, Java, TCL and Erlang, drop-in replacement libraries for MySQL and PostgreSQL clients.

connection_pool - Generic connection pooling for Ruby

Generic connection pooling for Ruby.MongoDB has its own connection pool. ActiveRecord has its own connection pool. This is a generic connection pool that can be used with anything, e.g. Redis, Dalli and other Ruby network clients.

HikariCP - A high-performance JDBC connection pool

Fast, simple, reliable. HikariCP is a "zero-overhead" production ready JDBC connection pool. At roughly 90Kb, the library is very light.

node-pool - Generic resource pooling for node.js

Generic resource pool with Promise based API. Can be used to reuse or throttle usage of expensive resources such as database connections.

Pgpool - Middleware between PostgreSQL Client and Server

pgpool-II is a middleware that works between PostgreSQL servers and a PostgreSQL database client. It supports connection pooling, Using the replication function enables creating a realtime backup on 2 or more physical disks, so that the service can continue without stopping servers in case of a disk failure, Load balance the queries, It can execute queries in parallel to multiple servers.

nodejs-driver - DataStax Node.js Driver for Apache Cassandra

A modern, feature-rich and highly tunable Node.js client library for Apache Cassandra (1.2+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3.

Proxool: Proxy JDBC Connection Pool

A Java SQL Driver that provides a connection pool wrapper around another Driver of your choice. Very simple to migrate existing code. Fully configurable. Fast, mature and robust. Transparently adds connection pooling to your existing JDBC driver.

DBBalancer - Middleware btw Database client and server

DBBalancer is some sort of middleware that would sit in between of database clients and a server. Currently the only server supported is Postgres, but the architecture is open to embrace more servers in a future. It's a connection pool, a load balancer and a database replicator.

pool - Connection pool for Go's net.Conn interface

Pool is a thread safe connection pool for net.Conn interface. It can be used to manage and reuse connections.and use pool as the package name inside the code.

poolboy - A hunky Erlang worker pool factory

Poolboy is a lightweight, generic pooling library for Erlang with a focus on simplicity, performance, and rock-solid disaster recovery. This is an example application showcasing database connection pools using Poolboy and epgsql.


BoneCP is a Java JDBC connection pool implementation that is tuned for high performance by minimizing lock contention to give greater throughput for your applications. It currently beats all known connection pools, including C3P0 and DBCP, as shown on the benchmark section on the site.


BoneCP is a Java JDBC connection pool implementation that is tuned for high performance by minimizing lock contention to give greater throughput for your applications. It currently beats all known connection pools, including C3P0 and DBCP, as shown on the benchmark section on the site.

Karinasoft Pool

Database Connection Pool, capable of connecting to multiple database and creating pools for each connection. It is configured using properties and xml files.

Vibur Object Pool - Concurrent Java Object Pool

Vibur Object Pool is a general-purpose concurrent Java object pool which provides both validating and non-validating pool implementations. The pool is built entirely using standard Java concurrency utilities, does not use any synchronized blocks/methods, and does not have any external dependencies. The pool is an excellent choice for pooling/caching of expensive to create Java objects such as database (or any other) socket connections and similar.