BoneCP for Linux Publisher's description
from Wallace Wadge
BoneCP is a fast, free, open-source, Java database connection pool (JDBC Pool) library.....
BoneCP is a fast, free, open-source, Java database connection pool (JDBC Pool) library. If you are familiar with C3P0 and DBCP then you already know what this means. For the rest, this is a library that will manage a database connection for you to get faster database access in your application.
* Highly scalable, fast connection pool
* Callback (hook interceptor) mechanisms on a change of connection state.
* Partitioning capability to increase performance
* Allows direct access to a connection/statements
* Automatic resizing of pool
* Statement caching support
* Support for obtaining a connection asynchronously (by returning a Future<Connection>)
* Release helper threads to release a connection/statement in an asynchronous fashion for higher performance.
* Easy mechanism to execute a custom statement on each newly obtained connection (initSQL).
* Support to switch to a new database at runtime without shutting down an application
* Ability to replay any failed transaction automatically (for the case where database/network goes down etc)
* JMX support
* Lazy initialization capable
* Support for XML/property configuration
* Idle connection timeouts / max connection age support
* Automatic validation of connections (keep-alives etc)
* Allow obtaining of new connections via a datasource rather than via a Driver
* Datasource/Hibernate support capable
* Debugging hooks to highlight the exact place where a connection was obtained but not closed
* Debugging support to show stack locations of connections that were closed twice.
* Custom pool name support.
* Clean organised code. 100% unit test branch code coverage (over 160 JUnit tests).
* Free, open source and written in 100% pure Java with complete Javadocs.
What's New in This Release:В· Several statistics enhancements
В· OSGi fixes
В· Allow datasource getConnection(username, password)
В· Recognize new postgresql SQLstate to trigger a pool restart
В· Added config option externalAuth to obtain connections without passing in username/password directly.
В· Allow customization hook of what is considered a broken connection
В· Allow max connections == 1
В· Add pool name to unclosed connection warning
В· Keep original exception for jdk6users
В· Publish to maven central
В· add defaultReadonly, defaultAutoCommit, defaultTransactionIsolation, etc
В· Add overloaded methods for BoneCPConfig to allow for specification of TimeUnit
В· Connection Tester Thread modifications to allow independant idleMaxAge/idleconnectionTestPeriod
В· Grab SQLExceptions only
В· Consider sqlState 08s01 as a db failure now
В· Use correct ExecutorService for connection max age
В· Use object equality instead of field equality. equals() has been renamed to hasSameConfiguration instead.
В· Remove thread-locals when storing statements
В· Don't fill batch SQL if connection hook is configured
В· Fix for false statementCache warning that statement isn't closed when releaseHelper statementCache closeConnectionWatch is configured.
В· Fix for potential race condition
В· Handle close properly in cache
В· Fix for cache.putIfAbsent
В· If we failed but still replaced connection, keep track of that
В· Be less strict on what to consider as a connection failure
В· Start tracking connection and incrementing creation count before the connection is given out
В· If driverProperties doesn't contain username/pass settings but config username does, keep them in sync
В· Allow connectionMaxAge thread to utilize lifo mode correctly
В· Stop monitoring this connection if it has been returned to the pool
В· Pass in lifo/fifo mode to connecitonMaxAge param
В· On connection destroy, remove from finalizable ref queue even if thread is still alive
В· If transaction replay blows up, throw the unwrapped exception
В· MemoritzeTransaction: InvocationTargetException fix
В· Guard logger statements
В· Use a nicer debug message clearer when a datasource ben is in use
В· Fix acquireRetryAttempts off-by-one error
В· Rename XXX -> xxxinSeconds/Minutes/etc
В· defaultTransactionIsolation: Read committed --> read_committed
В· Don't start connection testing thread right away
В· Make config retain connectionTimeout value set to 0 as 0 instead of Long.MAX
System Requirements:В· Java 2 Standard Edition Runtime Environment
Program Release Status: Minor Update
Program Install Support: Install and Uninstall