Download
If you're using maven:
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp-provider</artifactId>
<version>versionNumberHere</version>
</dependency>
If you want to use the DynamicDataSourceProxy feature in spring, also add the following:
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp-spring</artifactId>
<version>versionNumberHere</version>
</dependency>
(0.7.1.RELEASE is the latest available stable version, 0.7.1-jdk5.RELEASE is for JDK5 users. Latest dev version: 0.8.0-beta1 ). You will also need SLF4J and Google Guava library as described in the requirements page.
If you are not using maven, add the following to your classpath:
- Main library: Binary or Source for code browsing
Other links
Changelog
- 2011-04-05: v0.7.1.RELEASE.
- 2010-10-13: v0.7.0: See: http://forum.jolbox.com/viewtopic.php?f=3&t=151
- 2010-07-27: v0.6.7.2: Fixes for idleMaxAge/idleConnectionTester, Fixes for multiple nodes in XML config, Fix NPE on getConnection timeout, Log batch statements properly, Enhance onAcquireFail hook (and fix tiny bug in process), Also log statements + quote strings, Added driver properties option, Don't close off connection when shutting down, Fix bug in close connection watch debug tool, terminate all release helpers when shutting down.
- 2010-06-28: v0.6.6: Log batch statements properly, add driver properties option, also log statements + quote strings, enhance onAcquireFail (+ fix small bug), fix lazy init race, add connection timeout, use locking via blockingqueues to avoid lost signals (potential race), remove statics from finalizers, JDK5 compatibility, fix add new connection bug, expose internal statements via a public getter, add onConnectionException hook, pom cleanups.
- 2010-04-20: v0.6.5: Same as 0.6.5-rc3 (no bugs were reported).
- 2010-04-08: v0.6.5-rc3: Added: Automatic replay of transaction on broken connections (allows seamless restart of database without affecting application),
Added: Feature to disable JMX, Added: Feature to add custom name to JMX/created threads, Improvement: Benchmark, datasource and hibernate provider cleanups, Fix: Remove potential NPE on an unused pool during shutdown, Fix: Do not kill off more idle connections than minConnections allows. 104 unit tests, 100% test coverage.
- 2010-03-01: v0.6.4: Revamped statement caching + statement warnings if application failed to close.
- 2010-02-24: v0.6.4-rc5: Added lazyInit feature, added DynamicDataSourceProxy to allow for seamless switching of a datasource, made it more clear that idleMaxAge/idleConnectionTestPeriod is in minutes, added hashCode/equals/toString to boneCPConfig, perform a test connection early in the startup connection to fail gracefully, prepare for Maven 3, a bunch of bug fixes (don't loose exception when showing error, made tests run quietly, String.format changed to take right no of params, don't attempt to close statement twice) + some more cleanups.
- 2010-02-03: v0.6.4-rc1: Respect defaults when setup via manual way (via BoneCPConfig), close resource (memory) leak introduced with statement caching, add ability to specify classloader to use, no longer fail if JDBC driver is not specified (for loading driver externally).
- 2010-01-22: v0.6.3 [retracted due to memleak] - Added acquireRetryDelay config option to specify how long the pool will wait before attempting to refetch a failed connection. Renamed (deprecated) setPreparedStatementsCacheSize to setStatementsCacheSize to reflect that it is also caching CallableStatements. Track statements even if they're not in the cache. Git repository created (http://github.com/wwadge/bonecp)
- 2010-01-06: v0.6.2 - Added onAcquireFail() callback hook. Added support to detect an unclosed connection (or connection closed twice). Added preliminary JMX support.
- v0.6.0 - Added ability to obtain connection asynchronously via getAsyncConnection(). Added connection callback hook capability. Added ability to send a custom statement upon first obtaining a connection from the database. Exposed getRawConnection() to allow direct access to the underlying connection. Hidden releaseConnection() - use connection.close() instead. Moved hibernate provider class to sub-package. Reworked benchmark app to plot result graphs directly.
- v0.5.4 - Keep better track of connections in case of a DB disconnect (thanks 'ninja' !)
- v0.5.3.5-rc1 - IdleConnectionTestPeriod/max age, when configured through the config, was defaulting to ms instead of minutes. Spring/hibernate datasources worked fine.
- v0.5.3.4-rc1 - Tiny regression in statement handles fixed.
- v0.5.3.2-rc1 - Fixed memory leak in statement handles.
- v0.5.3.1-rc1 - Catch throwable not just SQLExceptions.
- v0.5.3-rc1 - Fixes statement caching bug. See more info on this issue.
- 2009-10-31: First (public) release