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 ch...@apache.org on 2016/11/11 14:22:26 UTC

svn commit: r1769289 - in /jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index: AsyncIndexUpdate.java IndexMBeanRegistration.java

Author: chetanm
Date: Fri Nov 11 14:22:25 2016
New Revision: 1769289

URL: http://svn.apache.org/viewvc?rev=1769289&view=rev
Log:
OAK-5074 - Configure Async Indexer via OSGi

Add the async name as a service property. This can be later used to better target AsyncIndexUpdate instance via dependency injection

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java?rev=1769289&r1=1769288&r2=1769289&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java Fri Nov 11 14:22:25 2016
@@ -79,7 +79,10 @@ import com.google.common.base.Stopwatch;
 import com.google.common.collect.ImmutableMap;
 
 public class AsyncIndexUpdate implements Runnable, Closeable {
-
+    /**
+     * Name of service property which determines the name of Async task
+     */
+    public static final String PROP_ASYNC_NAME = "oak.async";
     private static final Logger log = LoggerFactory
             .getLogger(AsyncIndexUpdate.class);
 

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java?rev=1769289&r1=1769288&r2=1769289&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexMBeanRegistration.java Fri Nov 11 14:22:25 2016
@@ -20,7 +20,9 @@ import static org.apache.jackrabbit.oak.
 import static org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardUtils.scheduleWithFixedDelay;
 
 import java.util.List;
+import java.util.Map;
 
+import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean;
 import org.apache.jackrabbit.oak.spi.whiteboard.CompositeRegistration;
 import org.apache.jackrabbit.oak.spi.whiteboard.Registration;
@@ -39,7 +41,8 @@ public class IndexMBeanRegistration impl
 
     public void registerAsyncIndexer(AsyncIndexUpdate task, long delayInSeconds) {
         task.setIndexMBeanRegistration(this);
-        regs.add(scheduleWithFixedDelay(whiteboard, task, delayInSeconds, true, true));
+        Map<String, Object> config = ImmutableMap.<String, Object>of(AsyncIndexUpdate.PROP_ASYNC_NAME, task.getName());
+        regs.add(scheduleWithFixedDelay(whiteboard, task, config, delayInSeconds, true, true));
         regs.add(registerMBean(whiteboard, IndexStatsMBean.class,
                 task.getIndexStats(), IndexStatsMBean.TYPE, task.getName()));
         // Register AsyncIndexStats for execution stats update