diff --git a/CHANGES b/CHANGES index 5d56b56e..28d970f0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,10 @@ HikariCP Changes +Changes in 2.3.12 + + * Fixed issue with new proxy class generation whereby Java 6 classes were generated + as extending java.lang.AutoClosable, which was not introduced until Java 7. + Changes in 2.3.11 * Fixed issue with new proxy class generation whereby Java 6 classes were generated diff --git a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/JavassistProxyFactory.java b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/JavassistProxyFactory.java index 00200787..78962d4d 100644 --- a/hikaricp-common/src/main/java/com/zaxxer/hikari/util/JavassistProxyFactory.java +++ b/hikaricp-common/src/main/java/com/zaxxer/hikari/util/JavassistProxyFactory.java @@ -55,12 +55,14 @@ import javassist.bytecode.ClassFile; */ public final class JavassistProxyFactory { + private static boolean JAVA6_TARGET; private static ClassPool classPool; private static String outputPrefix; public static void main(String... args) { outputPrefix = args[0] + File.separator + "target" + File.separator + "classes"; + JAVA6_TARGET = args[0].contains("java6"); classPool = new ClassPool(); classPool.importPackage("java.sql"); @@ -138,6 +140,10 @@ public final class JavassistProxyFactory Set methods = new HashSet(); Set> interfaces = getAllInterfaces(primaryInterface); + if (JAVA6_TARGET) { + interfaces.remove(AutoCloseable.class); + } + for (Class intf : interfaces) { CtClass intfCt = classPool.getCtClass(intf.getName()); targetCt.addInterface(intfCt);