Index: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/Jcr.java
===================================================================
--- oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/Jcr.java	(revision 1465953)
+++ oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/Jcr.java	(working copy)
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.jcr;
 
-import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 
 import javax.annotation.Nonnull;
@@ -52,10 +51,6 @@
 
     private final Oak oak;
 
-    private ScheduledExecutorService executor = Executors.newScheduledThreadPool(0);
-
-    private SecurityProvider securityProvider;
-
     public Jcr(Oak oak) {
         this.oak = oak;
 
@@ -126,7 +121,6 @@
     @Nonnull
     public final Jcr with(@Nonnull SecurityProvider securityProvider) {
         oak.with(checkNotNull(securityProvider));
-        this.securityProvider = securityProvider;
         return this;
     }
 
@@ -138,13 +132,15 @@
 
     @Nonnull
     public final Jcr with(@Nonnull ScheduledExecutorService executor) {
-        this.executor = checkNotNull(executor);
+        oak.with(checkNotNull(executor));
         return this;
     }
 
     public Repository createRepository() {
         return new RepositoryImpl(
-                oak.createContentRepository(), executor, securityProvider);
+                oak.createContentRepository(), 
+                oak.getExecutorService(), 
+                oak.getSecurityProvider());
     }
 
 }
Index: oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java
===================================================================
--- oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java	(revision 1465953)
+++ oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java	(working copy)
@@ -18,6 +18,7 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.ScheduledExecutorService;
 
 import javax.annotation.Nonnull;
 import javax.jcr.NoSuchWorkspaceException;
@@ -57,6 +58,7 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.collect.Lists.newArrayList;
+import static java.util.concurrent.Executors.newScheduledThreadPool;
 
 /**
  * Builder class for constructing {@link ContentRepository} instances with
@@ -87,6 +89,8 @@
 
     private SecurityProvider securityProvider;
 
+    private ScheduledExecutorService executor = newScheduledThreadPool(0);
+
     private String defaultWorkspaceName = DEFAULT_WORKSPACE_NAME;
 
     public Oak(NodeStore store) {
@@ -213,6 +217,11 @@
         return this;
     }
 
+    @Nonnull
+    public SecurityProvider getSecurityProvider() {
+        return this.securityProvider;
+    }
+
     /**
      * Associates the given conflict handler with the repository to be created.
      *
@@ -226,6 +235,17 @@
         return this;
     }
 
+    @Nonnull
+    public Oak with(@Nonnull ScheduledExecutorService executorService) {
+        this.executor = executorService;
+        return this;
+    }
+
+    @Nonnull
+    public ScheduledExecutorService getExecutorService() {
+        return this.executor;
+    }
+
     public ContentRepository createContentRepository() {
         IndexHookProvider indexHooks = CompositeIndexHookProvider.compose(indexHookProviders);
         OakInitializer.initialize(store, new CompositeInitializer(initializers), indexHooks);
