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