OSS TanbouSign in with GitHub

keep JDBC connection pooling small and fast with explicit timeout and lifetime controls

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
21,232
Primary language
Java
License
Apache-2.0
Repository last updated
Jun 14, 2026
On this page

Overview

HikariCP is a production-ready JDBC connection pool focused on low overhead and a small library footprint. Pool behavior is controlled through a compact set of settings such as maximumPoolSize, connectionTimeout, keepaliveTime, and maxLifetime.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Minimize overhead around JDBC connection acquisition

The pool reuses JDBC connections behind a DataSource interface so applications can acquire and close connections without opening a physical connection each time.

Sources: [1]

Control timeouts, keepalive, lifetime, and pool size explicitly

Settings such as connectionTimeout, keepaliveTime, maxLifetime, and maximumPoolSize let teams tune behavior around database and network constraints.

Sources: [1]

Best fit

Fits Kotlin/JVM backends that use JDBC

Although implemented in Java, it integrates directly with JVM DataSource and JDBC stacks and is straightforward to use from Kotlin services.

Sources: [1]

Before adoption

Oversized pools can reduce database performance

The README warns that too many database connections can have a clear negative performance impact and recommends deliberate pool sizing rather than simply increasing connection counts.

Sources: [1]

Align TCP keepalive and maxLifetime with database and network limits

The README marks TCP keepalive as important for avoiding a rare zero-pool recovery condition and strongly recommends setting maxLifetime slightly below database or infrastructure connection limits. The current README lists 7.1.0 for the Java 11+ artifact.

Sources: [1][2]

Official sources

  1. [1]HikariCP README(2026-10-06)
  2. [2]HikariCP dev pom.xml(2026-10-06)
Supplemental curator note

It fits Kotlin/JVM backends that need a simple, fast JDBC pool. Avoid oversized pools and design maxLifetime plus TCP keepalive around database and network limits.

Try it in 3 steps

  1. 1

    Get the source

    git clone --depth 1 https://github.com/brettwooldridge/HikariCP.git
  2. 2

    Enter the repository

    cd HikariCP
  3. 3

    Check the official steps

    Continue with the commands in the README Installation, Quick Start, or Getting Started section.

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Check the official README

Growth

Growth trends · Last 30 days

21,232 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
30

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • java
  • connection-pool
  • jdbc
  • high-performance
Stars
21,232
Forks
3,017
Watchers
696
Open issues
514
Contributors
148
Owner type
User
Primary language
Java
License
Apache-2.0
Repository last updated
Jun 14, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?