Author: mduerig
Date: Tue Mar 25 11:41:05 2014
New Revision: 1581295

URL: http://svn.apache.org/r1581295
Log:
OAK-1560: Expose RevisionGCMBean for supported NodeStores
Revision GC for DocumentNodeStore

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java?rev=1581295&r1=1581294&r2=1581295&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
 Tue Mar 25 11:41:05 2014
@@ -52,6 +52,7 @@ import org.apache.jackrabbit.oak.plugins
 import org.apache.jackrabbit.oak.spi.blob.BlobStore;
 import org.apache.jackrabbit.oak.spi.blob.GarbageCollectableBlobStore;
 import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.spi.state.RevisionGC;
 import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
 import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardExecutor;
@@ -258,7 +259,7 @@ public class DocumentNodeStoreService {
         }
     }
 
-    private void registerJMXBeans(DocumentNodeStore store, BundleContext 
context) throws IOException {
+    private void registerJMXBeans(final DocumentNodeStore store, BundleContext 
context) throws IOException {
         Whiteboard wb = new OsgiWhiteboard(context);
         registrations.add(
                 registerMBean(wb,
@@ -303,15 +304,23 @@ public class DocumentNodeStoreService {
                             cds.getCacheStats().getName())
             );
         }
+
+        executor = new WhiteboardExecutor();
+        executor.start(wb);
         if (blobStore instanceof GarbageCollectableBlobStore) {
-            executor = new WhiteboardExecutor();
-            executor.start(wb);
             MarkSweepGarbageCollector gc = new MarkSweepGarbageCollector();
             gc.init(store);  // FIXME OAK-1582 ClassCastException in 
MarkSweepGarbageCollector#init() if using KernelNodeStore
             registrations.add(registerMBean(wb, BlobGCMBean.class, new 
BlobGC(gc, executor),
                     BlobGCMBean.TYPE, "Segment node store blob garbage 
collection"));
         }
 
+        RevisionGC revisionGC = new RevisionGC(new Runnable() {
+            @Override
+            public void run() {
+                store.getVersionGarbageCollector().gc();
+            }
+        }, executor);
+
         //TODO Register JMX bean for Off Heap Cache stats
     }
 }


Reply via email to