You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by mr...@apache.org on 2015/03/18 12:20:34 UTC

svn commit: r1667502 - in /jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr: AbstractRepositoryTest.java observation/ObservationTest.java

Author: mreutegg
Date: Wed Mar 18 11:20:33 2015
New Revision: 1667502

URL: http://svn.apache.org/r1667502
Log:
OAK-2648: ObservationTest.observationDispose() restarts repository after test finished

Modified:
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java?rev=1667502&r1=1667501&r2=1667502&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AbstractRepositoryTest.java Wed Mar 18 11:20:33 2015
@@ -56,9 +56,9 @@ public abstract class AbstractRepository
 
     protected final NodeStoreFixture fixture;
 
-    private NodeStore nodeStore;
-    private Repository repository;
-    private Session adminSession;
+    private volatile NodeStore nodeStore;
+    private volatile Repository repository;
+    private volatile Session adminSession;
 
     /**
      * The system property "nsfixtures" can be used to provide a

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java?rev=1667502&r1=1667501&r2=1667502&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/observation/ObservationTest.java Wed Mar 18 11:20:33 2015
@@ -21,6 +21,7 @@ package org.apache.jackrabbit.oak.jcr.ob
 import static com.google.common.base.Objects.equal;
 import static java.util.Collections.synchronizedList;
 import static java.util.Collections.synchronizedSet;
+import static java.util.concurrent.Executors.newSingleThreadScheduledExecutor;
 import static javax.jcr.observation.Event.NODE_ADDED;
 import static javax.jcr.observation.Event.NODE_MOVED;
 import static javax.jcr.observation.Event.NODE_REMOVED;
@@ -45,6 +46,7 @@ import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
+import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
@@ -499,14 +501,16 @@ public class ObservationTest extends Abs
 
         observationManager.addEventListener(listener, ALL_EVENTS, "/", true, null, null, false);
 
+        final Session s = getAdminSession();
         // Generate events
-        Executors.newSingleThreadScheduledExecutor().scheduleWithFixedDelay(new Runnable() {
+        ScheduledExecutorService service = newSingleThreadScheduledExecutor();
+        service.scheduleWithFixedDelay(new Runnable() {
             private int c;
 
             @Override
             public void run() {
                 try {
-                    getNode(TEST_PATH)
+                    s.getNode(TEST_PATH)
                             .addNode("c" + c++)
                             .getSession()
                             .save();
@@ -532,6 +536,9 @@ public class ObservationTest extends Abs
 
         // Make sure we see no more events
         assertFalse(noEvents.wait(4, TimeUnit.SECONDS));
+
+        service.shutdown();
+        service.awaitTermination(10, TimeUnit.SECONDS);
     }
 
     @Test