flexy-pool
flexy-pool copied to clipboard
FlexyPool adds metrics and failover strategies to a given Connection Pool, allowing it to resize on demand.
Introduction
The FlexyPool library adds metrics and flexible strategies to a given Connection Pool, allowing it to resize on demand. This is very handy since most connection pools offer a limited set of dynamic configuration strategies.

Features
- multiple environment options
- Stand-alone (Spring, Guice)
- Java EE
- extensive connection pool support
- Apache DBCP
- Apache DBCP2
- C3P0
- BoneCP
- HikariCP
- Tomcat CP
- Vibur DBCP
- Druid
- Bitronix Transaction Manager
- Atomikos TransactionsEssentials
- statistics support
- concurrent connections histogram
- concurrent connection requests histogram
- data source connection acquiring time histogram
- connection lease time histogram
- maximum pool size histogram
- total connection acquiring time histogram
- overflow pool size histogram
- retries attempts histogram
Are you struggling with application performance issues?

Imagine having a tool that can automatically detect if you are using JPA and Hibernate properly. No more performance issues, no more having to spend countless hours trying to figure out why your application is barely crawling.
Imagine discovering early during the development cycle that you are using suboptimal mappings and entity relationships or that you are missing performance-related settings.
More, with Hypersistence Optimizer, you can detect all such issues during testing and make sure you don't deploy to production a change that will affect data access layer performance.
Hypersistence Optimizer is the tool you've been long waiting for!
Training
If you are interested in on-site training, I can offer you my High-Performance Java Persistence training which can be adapted to one, two or three days of sessions. For more details, check out my website.
Consulting
If you want me to review your application and provide insight into how you can optimize it to run faster, then check out my consulting page.
High-Performance Java Persistence Video Courses
If you want the fastest way to learn how to speed up a Java database application, then you should definitely enroll in my High-Performance Java Persistence video courses.
High-Performance Java Persistence Book
Or, if you prefer reading books, you are going to love my High-Performance Java Persistence book as well.


Documentation
In the Press
- The anatomy of Connection Pooling
- FlexyPool, reactive connection pooling
- Connection pool sizing with Flexy Pool
- The simple scalability equation
- How to monitor a Java EE DataSource
- How does FlexyPool support the Dropwizard Metrics package renaming
- How does FlexyPool support both Connection proxies and decorators
- Applying Queueing Theory to Dynamic Connection Pool Sizing with FlexyPool
- Java Performance Tuning - November 2016
- Brett Wooldridge Shows What it Takes to Write the Fastest Java Connection Pool
- FlexyPool 2 has been released
Who uses FlexyPool
Requirements
- Java 1.8 or above for all modules but the flexy-pool-core-java9 which requires at least Java 1.9
- Dropwizard Metrics 4 or Micrometer
- SLF4J