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