Repository: tomee Updated Branches: refs/heads/master 76ca07abb -> 780021e0b
ensure to get resizeLock properly Project: http://git-wip-us.apache.org/repos/asf/tomee/repo Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/780021e0 Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/780021e0 Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/780021e0 Branch: refs/heads/master Commit: 780021e0bf7ec77fe6584814a5b0eaf8fec08b89 Parents: 76ca07a Author: Romain manni-Bucau <[email protected]> Authored: Thu Jun 2 22:03:46 2016 +0200 Committer: Romain manni-Bucau <[email protected]> Committed: Thu Jun 2 22:03:46 2016 +0200 ---------------------------------------------------------------------- .../openejb/resource/GeronimoConnectionManagerFactory.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tomee/blob/780021e0/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoConnectionManagerFactory.java ---------------------------------------------------------------------- diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoConnectionManagerFactory.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoConnectionManagerFactory.java index 3d95180..460f98b 100644 --- a/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoConnectionManagerFactory.java +++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoConnectionManagerFactory.java @@ -53,6 +53,7 @@ import javax.transaction.RollbackException; import javax.transaction.SystemException; import javax.transaction.Transaction; import javax.transaction.TransactionManager; +import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -418,7 +419,11 @@ public class GeronimoConnectionManagerFactory { do { if (current instanceof AbstractSinglePoolConnectionInterceptor) { try { - foundLock = (ReadWriteLock) AbstractSinglePoolConnectionInterceptor.class.getField("resizeLock").get(current); + final Field resizeLock = AbstractSinglePoolConnectionInterceptor.class.getDeclaredField("resizeLock"); + if (!resizeLock.isAccessible()) { + resizeLock.setAccessible(true); + } + foundLock = (ReadWriteLock) resizeLock.get(current); } catch (final IllegalAccessException | NoSuchFieldException e) { // no-op }
