diff --git a/src/main/java/com/zaxxer/hikari/HikariConfig.java b/src/main/java/com/zaxxer/hikari/HikariConfig.java index 4214fda8..3dadf264 100644 --- a/src/main/java/com/zaxxer/hikari/HikariConfig.java +++ b/src/main/java/com/zaxxer/hikari/HikariConfig.java @@ -51,6 +51,8 @@ public final class HikariConfig implements HikariConfigMBean private Properties driverProperties; + private boolean isUseInstrumentation; + /** * Default constructor */ @@ -65,6 +67,7 @@ public final class HikariConfig implements HikariConfigMBean idleTimeout = TimeUnit.MINUTES.toMillis(10); isAutoCommit = true; isJdbc4connectionTest = true; + isUseInstrumentation = true; minPoolSize = 10; maxPoolSize = 60; maxLifetime = TimeUnit.MINUTES.toMillis(30); @@ -240,6 +243,16 @@ public final class HikariConfig implements HikariConfigMBean this.leakDetectionThreshold = leakDetectionThresholdMs; } + public boolean isUseInstrumentation() + { + return isUseInstrumentation; + } + + public void setUseInstrumentation(boolean useInstrumentation) + { + this.isUseInstrumentation = useInstrumentation; + } + /** {@inheritDoc} */ public long getMaxLifetime() { diff --git a/src/main/java/com/zaxxer/hikari/HikariPool.java b/src/main/java/com/zaxxer/hikari/HikariPool.java index b42ec83e..555e4beb 100644 --- a/src/main/java/com/zaxxer/hikari/HikariPool.java +++ b/src/main/java/com/zaxxer/hikari/HikariPool.java @@ -80,10 +80,10 @@ public final class HikariPool implements HikariPoolMBean try { - delegationProxies = !AgentRegistrationElf.loadTransformerAgent(configuration.getDataSourceClassName()); + delegationProxies = !configuration.isUseInstrumentation() || !AgentRegistrationElf.loadTransformerAgent(configuration.getDataSourceClassName()); if (delegationProxies) { - LOGGER.info("Falling back to Javassist delegate-based proxies."); + LOGGER.info("Using Javassist delegate-based proxies."); } Class clazz = ClassLoaderUtils.loadClass(configuration.getDataSourceClassName());