Repository: camel Updated Branches: refs/heads/camel-2.14.x 99da27cab -> ae435e34b refs/heads/master 0368fcb1c -> d04e5c9cc
CAMEL-8159: dump stats should sort the processors Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/ae435e34 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/ae435e34 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/ae435e34 Branch: refs/heads/camel-2.14.x Commit: ae435e34baddd52d47adf5c45c0e6e373892ad48 Parents: 99da27c Author: Claus Ibsen <davscl...@apache.org> Authored: Thu Dec 18 07:26:15 2014 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu Dec 18 07:43:15 2014 +0100 ---------------------------------------------------------------------- .../management/mbean/ManagedCamelContext.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/ae435e34/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java index 2ccad19..3f4ac39 100644 --- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java @@ -21,7 +21,8 @@ import java.io.InputStream; import java.net.URLDecoder; import java.util.ArrayList; import java.util.Collection; -import java.util.LinkedHashSet; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.Properties; @@ -374,7 +375,7 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti ObjectName query = ObjectName.getInstance("org.apache.camel:context=" + prefix + getContext().getManagementName() + ",type=routes,*"); Set<ObjectName> routes = server.queryNames(query, null); - Set<ManagedProcessorMBean> processors = new LinkedHashSet<ManagedProcessorMBean>(); + List<ManagedProcessorMBean> processors = new ArrayList<ManagedProcessorMBean>(); if (includeProcessors) { // gather all the processors for this CamelContext, which requires JMX query = ObjectName.getInstance("org.apache.camel:context=" + prefix + getContext().getManagementName() + ",type=processors,*"); @@ -384,7 +385,8 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti processors.add(processor); } } - + Collections.sort(processors, new OrderProcessorMBeans()); + // loop the routes, and append the processor stats if needed sb.append(" <routeStats>\n"); for (ObjectName on : routes) { @@ -516,4 +518,15 @@ public class ManagedCamelContext extends ManagedPerformanceCounter implements Ti } } + /** + * Used for sorting the processor mbeans accordingly to their index. + */ + private static final class OrderProcessorMBeans implements Comparator<ManagedProcessorMBean> { + + @Override + public int compare(ManagedProcessorMBean o1, ManagedProcessorMBean o2) { + return o1.getIndex().compareTo(o2.getIndex()); + } + } + }