You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2013/08/20 08:06:00 UTC
svn commit: r1515710 - in
/sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl:
HealthCheckMBean.java HealthCheckMBeanCreator.java
Author: cziegeler
Date: Tue Aug 20 06:06:00 2013
New Revision: 1515710
URL: http://svn.apache.org/r1515710
Log:
SLING-3021 : Use service properties for HC meta data and improve JMX registration - use service description and correct service ranking evaluation
Modified:
sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBean.java
sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBeanCreator.java
Modified: sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBean.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBean.java?rev=1515710&r1=1515709&r2=1515710&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBean.java (original)
+++ sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBean.java Tue Aug 20 06:06:00 2013
@@ -45,6 +45,7 @@ import javax.management.openmbean.Tabula
import org.apache.sling.hc.api.HealthCheck;
import org.apache.sling.hc.api.Result;
import org.apache.sling.hc.api.ResultLog;
+import org.osgi.framework.Constants;
import org.osgi.framework.ServiceReference;
/** A {@link DynamicMBean} used to execute a {@link HealthCheck} service */
@@ -180,8 +181,14 @@ public class HealthCheckMBean implements
attrs.add(new OpenMBeanAttributeInfoSupport(HC_LOG_ATTRIBUTE_NAME, "The health check result log", LOG_TABLE_TYPE, true, false, false));
+ final String description;
+ if ( serviceReference.getProperty(Constants.SERVICE_DESCRIPTION) != null ) {
+ description = serviceReference.getProperty(Constants.SERVICE_DESCRIPTION).toString();
+ } else {
+ description = "Health check";
+ }
return new MBeanInfo(this.getClass().getName(),
- "Health check",
+ description,
attrs.toArray(new MBeanAttributeInfo[attrs.size()]), null, null, null);
}
Modified: sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBeanCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBeanCreator.java?rev=1515710&r1=1515709&r2=1515710&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBeanCreator.java (original)
+++ sling/trunk/contrib/extensions/healthcheck/jmx/src/main/java/org/apache/sling/hc/jmx/impl/HealthCheckMBeanCreator.java Tue Aug 20 06:06:00 2013
@@ -108,10 +108,13 @@ public class HealthCheckMBeanCreator {
this.sortedRegistrations.put(reg.name, registered);
}
registered.add(reference);
+ // sort orders the references with lowest ranking first
+ // we want the highest!
Collections.sort(registered);
- if ( registered.get(0).equals(reference) ) {
+ final int lastIndex = registered.size() - 1;
+ if ( registered.get(lastIndex).equals(reference) ) {
if ( registered.size() > 1 ) {
- final ServiceReference prevRef = registered.get(1);
+ final ServiceReference prevRef = registered.get(lastIndex - 1);
final Registration prevReg = this.registeredServices.get(prevRef);
prevReg.unregister(this.logger);
}