diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java index bbd8ad3c23..5e9a1c933e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultExecuteContext.java @@ -289,6 +289,7 @@ class DefaultExecuteContext implements ExecuteContext { static final Connection localTargetConnection() { Connection result = localConnection(); + unwrappingLoop: for (int i = 0; i < maxUnwrappedConnections; i++) { @@ -302,6 +303,15 @@ class DefaultExecuteContext implements ExecuteContext { + + + + + + + + + @@ -317,7 +327,7 @@ class DefaultExecuteContext implements ExecuteContext { Connection r = Reflect.on(result).call("getTargetConnection").get(); if (result != r && r != null) { result = r; - continue; + continue unwrappingLoop; } } catch (ReflectException ignore) {} @@ -327,7 +337,7 @@ class DefaultExecuteContext implements ExecuteContext { Connection r = Reflect.on(result).call("getDelegate").get(); if (result != r && r != null) { result = r; - continue; + continue unwrappingLoop; } } catch (ReflectException ignore) {}