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
}
}