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 2014/06/24 11:22:08 UTC
svn commit: r1605038 - in
/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene:
LuceneIndexMBean.java LuceneIndexMBeanImpl.java
LuceneIndexProviderService.java
Author: chetanm
Date: Tue Jun 24 09:22:08 2014
New Revision: 1605038
URL: http://svn.apache.org/r1605038
Log:
OAK-1893 - MBean to dump Lucene Index content and related stats
Use the new annotations from oak-commons for description
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBean.java Tue Jun 24 09:22:08 2014
@@ -23,6 +23,9 @@ import java.io.IOException;
import javax.management.openmbean.TabularData;
+import org.apache.jackrabbit.oak.commons.jmx.Description;
+import org.apache.jackrabbit.oak.commons.jmx.Name;
+
public interface LuceneIndexMBean {
String TYPE = "LuceneIndex";
@@ -35,5 +38,11 @@ public interface LuceneIndexMBean {
* @param destPath path on server where the index content needs to be copied
* @throws IOException
*/
- void dumpIndexContent(String sourcePath, String destPath) throws IOException;
+ void dumpIndexContent(@Name("sourcePath")
+ @Description("Index path in content. Can be null")
+ String sourcePath,
+
+ @Name("destPath")
+ @Description("Target directory path on server where the index content needs to be copied")
+ String destPath) throws IOException;
}
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexMBeanImpl.java Tue Jun 24 09:22:08 2014
@@ -23,9 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Set;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.StandardMBean;
+import javax.management.NotCompliantMBeanException;
import javax.management.openmbean.CompositeDataSupport;
import javax.management.openmbean.CompositeType;
import javax.management.openmbean.OpenDataException;
@@ -35,6 +33,7 @@ import javax.management.openmbean.Tabula
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
+import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.store.Directory;
@@ -45,12 +44,12 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkNotNull;
-public class LuceneIndexMBeanImpl extends StandardMBean implements LuceneIndexMBean {
+public class LuceneIndexMBeanImpl extends AnnotatedStandardMBean implements LuceneIndexMBean {
private final Logger log = LoggerFactory.getLogger(getClass());
private final IndexTracker indexTracker;
- public LuceneIndexMBeanImpl(IndexTracker indexTracker) {
- super(LuceneIndexMBean.class, false);
+ public LuceneIndexMBeanImpl(IndexTracker indexTracker) throws NotCompliantMBeanException {
+ super(LuceneIndexMBean.class);
this.indexTracker = indexTracker;
}
@@ -107,19 +106,6 @@ public class LuceneIndexMBeanImpl extend
}
}
- //~------------------------------------------------------< StandardMBean >
-
- @Override
- protected String getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int sequence) {
- if(op.getName().equals("dumpIndexContent")){
- switch(sequence){
- case 0 : return "Index path in content. Can be null";
- case 1 : return "Target directory path on server";
- }
- }
- return super.getDescription(op, param, sequence);
- }
-
private static class IndexStats {
static final String[] FIELD_NAMES = new String[]{
"path",
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java?rev=1605038&r1=1605037&r2=1605038&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java Tue Jun 24 09:22:08 2014
@@ -22,6 +22,8 @@ package org.apache.jackrabbit.oak.plugin
import java.util.List;
import java.util.Map;
+import javax.management.NotCompliantMBeanException;
+
import com.google.common.collect.Lists;
import org.apache.felix.scr.annotations.Activate;
import org.apache.felix.scr.annotations.Component;
@@ -71,7 +73,8 @@ public class LuceneIndexProviderService
private Registration mbeanReg;
@Activate
- private void activate(BundleContext bundleContext, Map<String, ?> config) {
+ private void activate(BundleContext bundleContext, Map<String, ?> config)
+ throws NotCompliantMBeanException {
indexProvider = new LuceneIndexProvider();
initialize();