c3p0 - JDBC3 Connection and Statement Pooling

  •        4789

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.

http://www.mchange.com/projects/c3p0/index.html

Tags
Implementation
License
Platform

   




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.

Odyssey - Scalable PostgreSQL connection pooler


Advanced multi-threaded PostgreSQL connection pooler and request router. Odyssey can significantly scale processing performance by specifying a number of additional worker threads. Each worker thread is responsible for authentication and proxying client-to-server and server-to-client requests. All worker threads are sharing global server connection pools. Multi-threaded design plays important role in SSL/TLS performance.

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


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.