This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-pool.git


The following commit(s) were added to refs/heads/master by this push:
     new 71d5835  Don't use reflection.
71d5835 is described below

commit 71d5835288ed7a45a84bb4761a568dd92f66d6a4
Author: Gary Gregory <gardgreg...@gmail.com>
AuthorDate: Thu Sep 2 11:59:17 2021 -0400

    Don't use reflection.
---
 .../java/org/apache/commons/pool2/impl/EvictionTimer.java |  5 +++++
 .../apache/commons/pool2/impl/TestGenericObjectPool.java  | 15 ++++++++-------
 2 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/apache/commons/pool2/impl/EvictionTimer.java 
b/src/main/java/org/apache/commons/pool2/impl/EvictionTimer.java
index 80e53ad..6275fa3 100644
--- a/src/main/java/org/apache/commons/pool2/impl/EvictionTimer.java
+++ b/src/main/java/org/apache/commons/pool2/impl/EvictionTimer.java
@@ -153,6 +153,11 @@ class EvictionTimer {
         }
     }
 
+    /** For testing only. */
+    static ScheduledThreadPoolExecutor getExecutor() {
+        return executor;
+    }
+
     /**
      * @return the number of eviction tasks under management.
      */
diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
index 47d628d..cb53052 100644
--- a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
+++ b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPool.java
@@ -929,8 +929,7 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
         simpleFactory = null;
 
         final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-        final Set<ObjectName> result = mbs.queryNames(new ObjectName(
-                "org.apache.commoms.pool2:type=GenericObjectPool,*"), null);
+        final Set<ObjectName> result = mbs.queryNames(new 
ObjectName("org.apache.commoms.pool2:type=GenericObjectPool,*"), null);
         // There should be no registered pools at this point
         final int registeredPoolCount = result.size();
         final StringBuilder msg = new StringBuilder("Current pool is: ");
@@ -944,12 +943,14 @@ public class TestGenericObjectPool extends 
TestBaseObjectPool {
             msg.append('\n');
             mbs.unregisterMBean(name);
         }
-        assertEquals( 0, registeredPoolCount,msg.toString());
+        assertEquals(0, registeredPoolCount, msg.toString());
 
-        // Make sure that EvictionTimer executor is shut down
-        final Field evictorExecutorField = 
EvictionTimer.class.getDeclaredField("executor");
-        evictorExecutorField.setAccessible(true);
-        assertNull(evictorExecutorField.get(null));
+        // Make sure that EvictionTimer executor is shut down.
+        Thread.yield();
+        if (EvictionTimer.getExecutor() != null) {
+            Thread.sleep(1000);
+        }
+        assertNull(EvictionTimer.getExecutor(), "EvictionTimer.getExecutor()");
     }
 
     /**

Reply via email to