This week's giveaway is in the Java in General forum.
We're giving away four copies of Java Challengers and have Rafael del Nero on-line!
See this thread for details.
Win a copy of Java Challengers this week in the Java in General forum!

Simeon Malchev

+ Follow
since Nov 16, 2013
Simeon likes ...
Spring Java Linux
Writing computer software.
Sydney, Australia
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Simeon Malchev

The last couple of releases brought improvements in connections reuse and better SQLExceptions handling in some edge case situations.

For more details check:
3 years ago
This release brought improvements in connection hooks / metrics generation; also better tools for taken connections tracking.

Check it out at:
3 years ago
In this release:

* The JDBC Statement execution hook was re-implemented as an around advice (in terms of AOP) which allows for easy execution of supplied by user before and after Statement execution logic. For example, this logic could be counting of the SQL queries that are currently in process, starting/stopping of a timer, etc.

The complete changelog is available at

4 years ago
Release 16 of Vibur DBCP brought many new features and performance enhancements, some of which are:

* The Connection and method invocation hooks now allow for multiple hooks to be registered at a single hook invocation point.

* The timeTaken for native JDBC Connection establishing/closing is now reported back to the hooks. Similarly, the timeTaken to obtain a Connection from the pool as well as the time for which the application has held the Connection is reported back to the respective get/restore Connection hooks.

* Release 12.0 added support for third-party concurrent collections such as the Conversant Disruptor collections to be used on the place of java.util.Queue/Deque as part of the ConcurrentPool implementation in Vibur Object Pool.

* Logging improvements in logTakenConnectionsOnTimeout: in case of Connections exhaustion this option will now  log not only the stack trace of the threads that have taken the Connections as at the moment of their taking, but also the current execution stack trace of these threads, if the threads are still alive.

* Since release 15.0 Vibur DBCP intercepts the executed SQL query string in the Connection and Statement InvocationHandlers and doesn't longer depend on the JDBC driver functionality for preparedStatement.toString().

* Various other performance improvements.

Check the full changelog at:
4 years ago
Release 11 of Vibur DBCP brought many new features and performance enhancements, some of which are:

* Added logTakenConnectionsOnTimeout configuration option - allows in case of Connections exhaustion the application
 to log all currently taken Connections with optionally including the full stacktrace for each taken Connection.

* Added invocationHook configuration option - a programming hook that allows the application to intercept all method
calls on all proxied JDBC interfaces.

Check the full changelog at:
4 years ago
Vibur is a JDBC connection pooling library that is built entirely using standard Java concurrency utilities. Vibur offers advanced performance monitoring capabilities, including slow SQL queries detection and logging, statement caching, and Hibernate integration.

Release 9.0 contains various stability fixes, functionality improvements, and more. Check it out at

‪#‎Java‬ ‪#‎JDBC‬ ‪#‎database‬ 
5 years ago
Many new features and improvements since version 1.2:

  • The detection and logging of slow SQL queries and slow DataSource.getConnection() calls is now accompanied by an option that can detect and log queries returning ResultSets with size above a certain limit.
  • Improvements in the queries validation timeouts control.
  • Various other logging improvements and standardizations, including logging of the concrete SQL query parameters, if the underlying SQL query execution has thrown an exception.
  • poolReducerClass is now configurable. This is the fully qualified pool reducer class name. This setting is useful for applications that need to provide their own custom monitoring of the number of currently allocated in the pool connections, including their own logic for reducing the number of currently unused connections.

  • Last but not least, check out our new and responsive website at:

    5 years ago
    Thanks Tim and Devaka. I didn't realize before that this is a public wiki which I can edit myself, but I just now edited it.
    5 years ago
    Hi Ranch Office,

    Can please someone update for me the link to Vibur DBCP that is included at the bottom of to point to ? This is the new home of Vibur, it was migrated off site due to the fothcoming closure of the last.

    5 years ago
    Please note: Vibur DBCP website has moved to
    6 years ago
    Yes, I'm thinking that this feature is very useful, particularly when one has the concrete SQL query parameters, so that he can reproduce the exact slow running query via an SQL console. Note that the source code location (as a stack trace) from where the query has been executed is also logged.

    6 years ago
    Vibur DBCP is a concurrent and dynamic JDBC connection pool library. Many new features and improvements were introduced since release 1.0, most important of which are:

    * Reporting of slow SQL queries now includes the concrete queries parameters.
    * Fixes and improvements in the JDBC statements caching model.
    * Now built and distributed as a valid R4 OSGi bundle.
    * Implemented Hibernate 4.3+ integration (into a separate project).

    The complete list of all new features and improvements can be seen on the Vibur DBCP website.
    6 years ago