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 65c994a  Fix compiler warnings.
65c994a is described below

commit 65c994ad3c1e6bcd5bbb66da2b05d9e224517aa2
Author: Gary Gregory <ggreg...@rocketsoftware.com>
AuthorDate: Sun Feb 3 16:19:29 2019 -0500

    Fix compiler warnings.
---
 .../TestGenericObjectPoolFactoryCreateFailure.java | 107 +++++++++++----------
 1 file changed, 56 insertions(+), 51 deletions(-)

diff --git 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
index 5bbf2bc..20e62a1 100644
--- 
a/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
+++ 
b/src/test/java/org/apache/commons/pool2/impl/TestGenericObjectPoolFactoryCreateFailure.java
@@ -30,52 +30,9 @@ import org.junit.Test;
  */
 public class TestGenericObjectPoolFactoryCreateFailure {
 
-    @Test(timeout = 10_000)
-    public void testBorrowObjectStuck() {
-        SingleObjectFactory factory = new SingleObjectFactory();
-        GenericObjectPoolConfig config = new GenericObjectPoolConfig();
-        config.setMaxIdle(1);
-        config.setMaxTotal(1);
-        config.setBlockWhenExhausted(true);
-        config.setMinIdle(0);
-        config.setTestOnBorrow(true);
-        config.setTestOnReturn(true);
-        config.setTestWhileIdle(false);
-        config.setTimeBetweenEvictionRunsMillis(-1);
-        config.setMinEvictableIdleTimeMillis(-1);
-        config.setSoftMinEvictableIdleTimeMillis(-1);
-
-        config.setMaxWaitMillis(-1);
-        GenericObjectPool<Object> pool = new GenericObjectPool<>(factory, 
config);
-
-        AtomicBoolean failed = new AtomicBoolean();
-        CountDownLatch barrier = new CountDownLatch(1);
-        Thread thread1 = new Thread(new WinnerRunnable(pool, barrier, failed));
-        thread1.start();
-
-        // wait for object to be created
-        while(!factory.created.get()) {
-            sleepIgnoreException(5);
-        }
-
-        // now borrow
-        barrier.countDown();
-        try {
-            System.out.println("try borrow in main thread");
-
-            Object o = pool.borrowObject();
-            System.out.println("Success borrow in main thread " + o);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        Assert.assertFalse(failed.get());
-
-    }
-
     private static class SingleObjectFactory extends 
BasePooledObjectFactory<Object> {
         private final AtomicBoolean created = new AtomicBoolean();
-        private final AtomicBoolean validated = new AtomicBoolean();
+        
         @Override
         public Object create() throws Exception {
             if (!created.getAndSet(true)) {
@@ -85,20 +42,20 @@ public class TestGenericObjectPoolFactoryCreateFailure {
         }
 
         @Override
-        public PooledObject<Object> wrap(Object obj) {
-            return new DefaultPooledObject<>(new Object());
+        public boolean validateObject(PooledObject<Object> p) {
+            return true;
         }
 
         @Override
-        public boolean validateObject(PooledObject<Object> p) {
-            return true;
+        public PooledObject<Object> wrap(Object obj) {
+            return new DefaultPooledObject<>(new Object());
         }
     }
 
     private static class WinnerRunnable implements Runnable {
-        private final GenericObjectPool<Object> pool;
-        private final AtomicBoolean failed;
         private final CountDownLatch barrier;
+        private final AtomicBoolean failed;
+        private final GenericObjectPool<Object> pool;
         private WinnerRunnable(GenericObjectPool<Object> pool, CountDownLatch 
barrier, AtomicBoolean failed) {
             this.pool = pool;
             this.failed = failed;
@@ -120,7 +77,7 @@ public class TestGenericObjectPoolFactoryCreateFailure {
                 }
 
                 pool.returnObject(obj);
-                System.out.println("ended borrowing in parallel thread");
+                println("ended borrowing in parallel thread");
             } catch (Exception e) {
                 failed.set(true);
                 e.printStackTrace();
@@ -128,6 +85,10 @@ public class TestGenericObjectPoolFactoryCreateFailure {
         }
     }
 
+    private static void println(final String msg) {
+        System.out.println(msg);
+    }
+
     private static void sleepIgnoreException(long millis) {
         try {
             Thread.sleep(millis);
@@ -135,4 +96,48 @@ public class TestGenericObjectPoolFactoryCreateFailure {
             // ignore
         }
     }
+    
+    @Test(timeout = 10_000)
+    public void testBorrowObjectStuck() {
+        SingleObjectFactory factory = new SingleObjectFactory();
+        GenericObjectPoolConfig<Object> config = new 
GenericObjectPoolConfig<>();
+        config.setMaxIdle(1);
+        config.setMaxTotal(1);
+        config.setBlockWhenExhausted(true);
+        config.setMinIdle(0);
+        config.setTestOnBorrow(true);
+        config.setTestOnReturn(true);
+        config.setTestWhileIdle(false);
+        config.setTimeBetweenEvictionRunsMillis(-1);
+        config.setMinEvictableIdleTimeMillis(-1);
+        config.setSoftMinEvictableIdleTimeMillis(-1);
+
+        config.setMaxWaitMillis(-1);
+        try (GenericObjectPool<Object> pool = new GenericObjectPool<>(factory, 
config)) {
+
+            AtomicBoolean failed = new AtomicBoolean();
+            CountDownLatch barrier = new CountDownLatch(1);
+            Thread thread1 = new Thread(new WinnerRunnable(pool, barrier, 
failed));
+            thread1.start();
+
+            // wait for object to be created
+            while (!factory.created.get()) {
+                sleepIgnoreException(5);
+            }
+
+            // now borrow
+            barrier.countDown();
+            try {
+                println("try borrow in main thread");
+
+                Object o = pool.borrowObject();
+                println("Success borrow in main thread " + o);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+            Assert.assertFalse(failed.get());
+        }
+
+    }
 }
\ No newline at end of file

Reply via email to