Ultimate JDBC Connection Pool - Java 6 compatible version providing high-performance database connection pooling
npx @tessl/cli install tessl/maven-com-zaxxer--hikari-cp-java6@2.3.0Ultimate JDBC Connection Pool - Java 6 compatible version providing high-performance database connection pooling with minimal overhead, reliability, and comprehensive management features.
com.zaxxer:HikariCP-java6:2.3.13Maven 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;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();HikariCP uses a fast, lock-free design optimized for high-performance connection pooling:
This design delivers industry-leading performance while maintaining full JDBC compliance and extensive configurability for enterprise environments.
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);
}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();
}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);
}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();
}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
// 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;
}