or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

configuration.mdhibernate-integration.mdindex.mdjmx-management.mdmetrics-monitoring.mdutilities-advanced.md
tile.json

tessl/maven-com-zaxxer--hikari-cp-java6

Ultimate JDBC Connection Pool - Java 6 compatible version providing high-performance database connection pooling

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/com.zaxxer/HikariCP-java6@2.3.x

To install, run

npx @tessl/cli install tessl/maven-com-zaxxer--hikari-cp-java6@2.3.0

index.mddocs/

HikariCP-java6

Ultimate JDBC Connection Pool - Java 6 compatible version providing high-performance database connection pooling with minimal overhead, reliability, and comprehensive management features.

Package Information

  • Package Name: HikariCP-java6
  • Package Type: maven
  • Language: Java
  • Java Version: Java 6+
  • Maven Coordinates: com.zaxxer:HikariCP-java6:2.3.13

Core Imports

Maven dependency:

<dependency>
    <groupId>com.zaxxer</groupId>
    <artifactId>HikariCP-java6</artifactId>
    <version>2.3.13</version>
</dependency>

Basic Java imports:

import com.zaxxer.hikari.HikariDataSource;
import com.zaxxer.hikari.HikariConfig;

Basic Usage

import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import java.sql.Connection;
import java.sql.SQLException;

// Basic configuration and setup
HikariConfig config = new HikariConfig();
config.setJdbcUrl("jdbc:mysql://localhost:3306/mydb");
config.setUsername("user");
config.setPassword("password");
config.setDriverClassName("com.mysql.jdbc.Driver");

// Optional pool tuning
config.setMaximumPoolSize(20);
config.setMinimumIdle(5);
config.setConnectionTimeout(30000);
config.setIdleTimeout(600000);
config.setMaxLifetime(1800000);

// Create the DataSource
HikariDataSource dataSource = new HikariDataSource(config);

// Use the connection pool
try (Connection connection = dataSource.getConnection()) {
    // Execute database operations
    // Connection automatically returned to pool when closed
} catch (SQLException e) {
    e.printStackTrace();
}

// Shutdown when application exits
dataSource.close();

Architecture

HikariCP uses a fast, lock-free design optimized for high-performance connection pooling:

  • HikariDataSource: Main entry point implementing javax.sql.DataSource
  • HikariConfig: Configuration management with comprehensive validation
  • Connection Pooling: Lock-free ConcurrentBag implementation for optimal performance
  • Proxy System: Lightweight proxies for all JDBC objects with automatic cleanup
  • Management Layer: JMX beans for runtime monitoring and configuration
  • Integration Layer: Native support for metrics systems and application frameworks

This design delivers industry-leading performance while maintaining full JDBC compliance and extensive configurability for enterprise environments.

Capabilities

Core Configuration and Setup

Primary classes for configuring and creating connection pools, including HikariDataSource, HikariConfig, and comprehensive configuration options for pool behavior, timeouts, and database connectivity.

public class HikariDataSource extends HikariConfig implements DataSource, Closeable {
    public HikariDataSource();
    public HikariDataSource(HikariConfig configuration);
    public Connection getConnection() throws SQLException;
    public void close();
}

public class HikariConfig extends AbstractHikariConfig {
    public HikariConfig();
    public HikariConfig(Properties properties);
    public HikariConfig(String propertyFileName);
}

Configuration and Setup

JMX Management

Runtime monitoring and configuration through JMX MBeans, providing visibility into pool statistics, connection health, and the ability to modify configuration parameters during runtime.

public interface HikariConfigMXBean {
    long getConnectionTimeout();
    void setConnectionTimeout(long connectionTimeoutMs);
    int getMaximumPoolSize();
    void setMaximumPoolSize(int maxPoolSize);
    String getPoolName();
}

public interface HikariPoolMXBean {
    int getIdleConnections();
    int getActiveConnections();
    int getTotalConnections();
    void suspendPool();
    void resumePool();
}

JMX Management

Hibernate Integration

Native integration with Hibernate ORM framework, providing seamless connection pooling for Hibernate applications with automatic property mapping and lifecycle management.

public class HikariConnectionProvider implements ConnectionProvider, Configurable, Stoppable {
    public void configure(Map props) throws HibernateException;
    public Connection getConnection() throws SQLException;
    public void stop();
}

public class HikariConfigurationUtil {
    public static final String CONFIG_PREFIX = "hibernate.hikari.";
    public static HikariConfig loadConfiguration(Map props);
}

Hibernate Integration

Metrics and Monitoring

Comprehensive metrics collection and health monitoring through integration with popular metrics libraries like Codahale Metrics (Dropwizard Metrics).

public class MetricsTracker {
    public MetricsContext recordConnectionRequest(long requestTime);
    public void recordConnectionUsage(PoolBagEntry bagEntry);
    public void close();
}

public class CodaHaleMetricsTracker extends MetricsTracker {
    public Timer getConnectionAcquisitionTimer();
    public Histogram getConnectionDurationHistogram();
}

Metrics and Monitoring

Utilities and Advanced Features

Advanced functionality including JNDI integration, custom connection handling, proxy system components, and utility classes for specialized use cases.

public class HikariJNDIFactory implements ObjectFactory {
    public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment) throws Exception;
}

public interface IHikariConnectionProxy extends Connection {
    PoolBagEntry getPoolBagEntry();
    SQLException checkException(SQLException sqle);
    void untrackStatement(Statement statement);
    void markCommitStateDirty();
}

Utilities and Advanced Features

Core Types

// Main configuration class extending base functionality
public abstract class AbstractHikariConfig implements HikariConfigMXBean {
    public void setJdbcUrl(String jdbcUrl);
    public String getJdbcUrl();
    public void setUsername(String username);
    public String getUsername();
    public void setPassword(String password);
    public void setMaximumPoolSize(int maxPoolSize);
    public int getMaximumPoolSize();
    public void validate();
}

// Pool initialization exception
public class PoolInitializationException extends RuntimeException {
    public PoolInitializationException(Throwable t);
}

// Connection customizer interface (deprecated)
@Deprecated
public interface IConnectionCustomizer {
    void customize(Connection connection) throws SQLException;
}