You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/07/26 13:36:17 UTC
[4/8] camel git commit: CAMEL-9015: JMX Agent should always let JVM
system properties take precedence. Also aling that all the options is
configured on the agent and not a mix of strategty/agent.
CAMEL-9015: JMX Agent should always let JVM system properties take precedence. Also aling that all the options is configured on the agent and not a mix of strategty/agent.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/488f3912
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/488f3912
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/488f3912
Branch: refs/heads/master
Commit: 488f39126a6ba0ab238e53361bce0880f39b3b88
Parents: c483de7
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Jul 26 09:37:35 2015 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jul 26 13:34:12 2015 +0200
----------------------------------------------------------------------
.../apache/camel/ManagementStatisticsLevel.java | 10 +-
.../impl/DefaultManagementNameStrategy.java | 4 +-
.../org/apache/camel/impl/ProducerCache.java | 2 +-
.../management/DefaultManagementAgent.java | 109 +++++++++++++++----
.../DefaultManagementLifecycleStrategy.java | 11 +-
.../management/DefaultManagementStrategy.java | 25 ++---
.../camel/management/JmxSystemPropertyKeys.java | 6 +
.../management/mbean/ManagedProcessor.java | 3 +-
.../org/apache/camel/spi/ManagementAgent.java | 49 +++++++++
.../apache/camel/spi/ManagementStrategy.java | 28 +++--
...onOnlyRegisterProcessorWithCustomIdTest.java | 2 +-
.../management/ManagedDynamicRouterTest.java | 3 +-
.../camel/management/ManagedEnricherTest.java | 3 +-
.../management/ManagedRecipientListTest.java | 3 +-
.../ManagedRouteLoadstatisticsTest.java | 6 +-
.../management/ManagedRoutingSlipTest.java | 3 +-
.../ManagedSendDynamicProcessorTest.java | 3 +-
.../camel/management/ManagedWireTapTest.java | 3 +-
18 files changed, 202 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/ManagementStatisticsLevel.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/ManagementStatisticsLevel.java b/camel-core/src/main/java/org/apache/camel/ManagementStatisticsLevel.java
index 730f433..cc02bbe 100644
--- a/camel-core/src/main/java/org/apache/camel/ManagementStatisticsLevel.java
+++ b/camel-core/src/main/java/org/apache/camel/ManagementStatisticsLevel.java
@@ -26,6 +26,14 @@ import javax.xml.bind.annotation.XmlEnum;
@XmlEnum
public enum ManagementStatisticsLevel {
- All, RoutesOnly, Off
+ Extended, Default, RoutesOnly, Off;
+
+ public boolean isDefaultOrExtended() {
+ return ordinal() == Default.ordinal() || ordinal() == Extended.ordinal();
+ }
+
+ public boolean isExtended() {
+ return ordinal() == Extended.ordinal();
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/impl/DefaultManagementNameStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultManagementNameStrategy.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultManagementNameStrategy.java
index 85df49c..87817af 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultManagementNameStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultManagementNameStrategy.java
@@ -43,7 +43,7 @@ public class DefaultManagementNameStrategy implements ManagementNameStrategy {
private String namePattern;
public DefaultManagementNameStrategy(CamelContext camelContext) {
- this(camelContext, System.getProperty(JmxSystemPropertyKeys.MANAGEMENT_NAME_PATTERN, "#name#"), "#name#-#counter#");
+ this(camelContext, null, "#name#-#counter#");
}
public DefaultManagementNameStrategy(CamelContext camelContext, String defaultPattern, String nextPattern) {
@@ -68,7 +68,7 @@ public class DefaultManagementNameStrategy implements ManagementNameStrategy {
String pattern = getNamePattern();
if (pattern == null) {
// fallback and use the default pattern which is the same name as the CamelContext has been given
- pattern = defaultPattern;
+ pattern = defaultPattern != null ? defaultPattern : camelContext.getManagementStrategy().getManagementAgent().getManagementNamePattern();
}
name = resolveManagementName(pattern, camelContext.getName(), true);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/impl/ProducerCache.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/ProducerCache.java b/camel-core/src/main/java/org/apache/camel/impl/ProducerCache.java
index b321df2..a78f4dd 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/ProducerCache.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/ProducerCache.java
@@ -81,7 +81,7 @@ public class ProducerCache extends ServiceSupport {
this.camelContext = camelContext;
this.pool = producerServicePool;
this.producers = cache;
- this.extendedStatistics = camelContext.getManagementStrategy().isExtendedStatisticsEnabled();
+ this.extendedStatistics = camelContext.getManagementStrategy().getManagementAgent().getStatisticsLevel().isExtended();
}
public boolean isEventNotifierEnabled() {
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
index 433dd21..f6c76a6 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
@@ -25,7 +25,9 @@ import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import javax.management.JMException;
@@ -41,6 +43,7 @@ import javax.management.remote.JMXServiceURL;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelContextAware;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.spi.ManagementAgent;
import org.apache.camel.spi.ManagementMBeanAssembler;
import org.apache.camel.support.ServiceSupport;
@@ -67,18 +70,21 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
private JMXConnectorServer cs;
private Registry registry;
- private Integer registryPort;
- private Integer connectorPort;
- private String mBeanServerDefaultDomain;
- private String mBeanObjectDomainName;
- private String serviceUrlPath;
+ private Integer registryPort = DEFAULT_REGISTRY_PORT;
+ private Integer connectorPort = DEFAULT_CONNECTION_PORT;
+ private String mBeanServerDefaultDomain = DEFAULT_DOMAIN;
+ private String mBeanObjectDomainName = DEFAULT_DOMAIN;
+ private String serviceUrlPath = DEFAULT_SERVICE_URL_PATH;
private Boolean usePlatformMBeanServer = true;
- private Boolean createConnector;
- private Boolean onlyRegisterProcessorWithCustomId;
- private Boolean registerAlways;
+ private Boolean createConnector = false;
+ private Boolean onlyRegisterProcessorWithCustomId = false;
+ private Boolean loadStatisticsEnabled = false;
+ private Boolean registerAlways = false;
private Boolean registerNewRoutes = true;
- private Boolean mask;
- private Boolean includeHostName;
+ private Boolean mask = true;
+ private Boolean includeHostName = false;
+ private String managementNamePattern = "#name#";
+ private ManagementStatisticsLevel statisticsLevel = ManagementStatisticsLevel.Default;
public DefaultManagementAgent() {
}
@@ -87,46 +93,77 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
this.camelContext = camelContext;
}
- protected void finalizeSettings() {
- if (registryPort == null) {
- registryPort = Integer.getInteger(JmxSystemPropertyKeys.REGISTRY_PORT, DEFAULT_REGISTRY_PORT);
+ protected void finalizeSettings() throws Exception {
+ // JVM system properties take precedence over any configuration
+ Map<String, Object> values = new LinkedHashMap<String, Object>();
+
+ if (System.getProperty(JmxSystemPropertyKeys.REGISTRY_PORT) != null) {
+ registryPort = Integer.getInteger(JmxSystemPropertyKeys.REGISTRY_PORT);
+ values.put(JmxSystemPropertyKeys.REGISTRY_PORT, registryPort);
}
- if (connectorPort == null) {
- connectorPort = Integer.getInteger(JmxSystemPropertyKeys.CONNECTOR_PORT, DEFAULT_CONNECTION_PORT);
+ if (System.getProperty(JmxSystemPropertyKeys.CONNECTOR_PORT) != null) {
+ connectorPort = Integer.getInteger(JmxSystemPropertyKeys.CONNECTOR_PORT);
+ values.put(JmxSystemPropertyKeys.CONNECTOR_PORT, connectorPort);
}
- if (mBeanServerDefaultDomain == null) {
- mBeanServerDefaultDomain = System.getProperty(JmxSystemPropertyKeys.DOMAIN, DEFAULT_DOMAIN);
+ if (System.getProperty(JmxSystemPropertyKeys.DOMAIN) != null) {
+ mBeanServerDefaultDomain = System.getProperty(JmxSystemPropertyKeys.DOMAIN);
+ values.put(JmxSystemPropertyKeys.DOMAIN, mBeanServerDefaultDomain);
}
- if (mBeanObjectDomainName == null) {
- mBeanObjectDomainName = System.getProperty(JmxSystemPropertyKeys.MBEAN_DOMAIN, DEFAULT_DOMAIN);
+ if (System.getProperty(JmxSystemPropertyKeys.MBEAN_DOMAIN) != null) {
+ mBeanObjectDomainName = System.getProperty(JmxSystemPropertyKeys.MBEAN_DOMAIN);
+ values.put(JmxSystemPropertyKeys.MBEAN_DOMAIN, mBeanObjectDomainName);
}
- if (serviceUrlPath == null) {
- serviceUrlPath = System.getProperty(JmxSystemPropertyKeys.SERVICE_URL_PATH, DEFAULT_SERVICE_URL_PATH);
+ if (System.getProperty(JmxSystemPropertyKeys.SERVICE_URL_PATH) != null) {
+ serviceUrlPath = System.getProperty(JmxSystemPropertyKeys.SERVICE_URL_PATH);
+ values.put(JmxSystemPropertyKeys.SERVICE_URL_PATH, serviceUrlPath);
}
- if (createConnector == null) {
+ if (System.getProperty(JmxSystemPropertyKeys.CREATE_CONNECTOR) != null) {
createConnector = Boolean.getBoolean(JmxSystemPropertyKeys.CREATE_CONNECTOR);
+ values.put(JmxSystemPropertyKeys.CREATE_CONNECTOR, createConnector);
}
- if (onlyRegisterProcessorWithCustomId == null) {
+ if (System.getProperty(JmxSystemPropertyKeys.ONLY_REGISTER_PROCESSOR_WITH_CUSTOM_ID) != null) {
onlyRegisterProcessorWithCustomId = Boolean.getBoolean(JmxSystemPropertyKeys.ONLY_REGISTER_PROCESSOR_WITH_CUSTOM_ID);
+ values.put(JmxSystemPropertyKeys.ONLY_REGISTER_PROCESSOR_WITH_CUSTOM_ID, onlyRegisterProcessorWithCustomId);
}
- // "Use platform mbean server" is true by default
if (System.getProperty(JmxSystemPropertyKeys.USE_PLATFORM_MBS) != null) {
usePlatformMBeanServer = Boolean.getBoolean(JmxSystemPropertyKeys.USE_PLATFORM_MBS);
+ values.put(JmxSystemPropertyKeys.USE_PLATFORM_MBS, usePlatformMBeanServer);
}
if (System.getProperty(JmxSystemPropertyKeys.REGISTER_ALWAYS) != null) {
registerAlways = Boolean.getBoolean(JmxSystemPropertyKeys.REGISTER_ALWAYS);
+ values.put(JmxSystemPropertyKeys.REGISTER_ALWAYS, registerAlways);
}
if (System.getProperty(JmxSystemPropertyKeys.REGISTER_NEW_ROUTES) != null) {
registerNewRoutes = Boolean.getBoolean(JmxSystemPropertyKeys.REGISTER_NEW_ROUTES);
+ values.put(JmxSystemPropertyKeys.REGISTER_NEW_ROUTES, registerNewRoutes);
}
if (System.getProperty(JmxSystemPropertyKeys.MASK) != null) {
mask = Boolean.getBoolean(JmxSystemPropertyKeys.MASK);
+ values.put(JmxSystemPropertyKeys.MASK, mask);
}
if (System.getProperty(JmxSystemPropertyKeys.INCLUDE_HOST_NAME) != null) {
includeHostName = Boolean.getBoolean(JmxSystemPropertyKeys.INCLUDE_HOST_NAME);
+ values.put(JmxSystemPropertyKeys.INCLUDE_HOST_NAME, includeHostName);
}
if (System.getProperty(JmxSystemPropertyKeys.CREATE_CONNECTOR) != null) {
createConnector = Boolean.getBoolean(JmxSystemPropertyKeys.CREATE_CONNECTOR);
+ values.put(JmxSystemPropertyKeys.CREATE_CONNECTOR, createConnector);
+ }
+ if (System.getProperty(JmxSystemPropertyKeys.LOAD_STATISTICS_ENABLED) != null) {
+ loadStatisticsEnabled = Boolean.getBoolean(JmxSystemPropertyKeys.LOAD_STATISTICS_ENABLED);
+ values.put(JmxSystemPropertyKeys.LOAD_STATISTICS_ENABLED, loadStatisticsEnabled);
+ }
+ if (System.getProperty(JmxSystemPropertyKeys.STATISTICS_LEVEL) != null) {
+ statisticsLevel = camelContext.getTypeConverter().mandatoryConvertTo(ManagementStatisticsLevel.class, System.getProperty(JmxSystemPropertyKeys.STATISTICS_LEVEL));
+ values.put(JmxSystemPropertyKeys.STATISTICS_LEVEL, statisticsLevel);
+ }
+ if (System.getProperty(JmxSystemPropertyKeys.MANAGEMENT_NAME_PATTERN) != null) {
+ managementNamePattern = System.getProperty(JmxSystemPropertyKeys.MANAGEMENT_NAME_PATTERN);
+ values.put(JmxSystemPropertyKeys.MANAGEMENT_NAME_PATTERN, managementNamePattern);
+ }
+
+ if (!values.isEmpty()) {
+ LOG.info("ManagementAgent detected JVM system properties: {}", values);
}
}
@@ -234,6 +271,30 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
this.includeHostName = includeHostName;
}
+ public String getManagementNamePattern() {
+ return managementNamePattern;
+ }
+
+ public void setManagementNamePattern(String managementNamePattern) {
+ this.managementNamePattern = managementNamePattern;
+ }
+
+ public Boolean getLoadStatisticsEnabled() {
+ return loadStatisticsEnabled;
+ }
+
+ public void setLoadStatisticsEnabled(Boolean loadStatisticsEnabled) {
+ this.loadStatisticsEnabled = loadStatisticsEnabled;
+ }
+
+ public ManagementStatisticsLevel getStatisticsLevel() {
+ return statisticsLevel;
+ }
+
+ public void setStatisticsLevel(ManagementStatisticsLevel statisticsLevel) {
+ this.statisticsLevel = statisticsLevel;
+ }
+
public CamelContext getCamelContext() {
return camelContext;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
index 33d713b..7d0f922 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementLifecycleStrategy.java
@@ -758,7 +758,7 @@ public class DefaultManagementLifecycleStrategy extends ServiceSupport implement
// that then delegates to the real mbean which we register later in the onServiceAdd method
DelegatePerformanceCounter pc = new DelegatePerformanceCounter();
// set statistics enabled depending on the option
- boolean enabled = camelContext.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.All;
+ boolean enabled = camelContext.getManagementStrategy().getManagementAgent().getStatisticsLevel().isDefaultOrExtended();
pc.setStatisticsEnabled(enabled);
// and add it as a a registered counter that will be used lazy when Camel
@@ -793,7 +793,9 @@ public class DefaultManagementLifecycleStrategy extends ServiceSupport implement
}
// only if custom id assigned
- if (getManagementStrategy().isOnlyManageProcessorWithCustomId()) {
+ boolean only = getManagementStrategy().getManagementAgent().getOnlyRegisterProcessorWithCustomId() != null
+ && getManagementStrategy().getManagementAgent().getOnlyRegisterProcessorWithCustomId();
+ if (only) {
return processor.hasCustomIdAssigned();
}
@@ -908,8 +910,9 @@ public class DefaultManagementLifecycleStrategy extends ServiceSupport implement
@Override
public void onCamelContextStarted(CamelContext context, boolean alreadyStarted) throws Exception {
// we are disabled either if configured explicit, or if level is off
- boolean disabled = !camelContext.getManagementStrategy().isLoadStatisticsEnabled()
- || camelContext.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.Off;
+ boolean load = camelContext.getManagementStrategy().getManagementAgent().getLoadStatisticsEnabled() != null
+ && camelContext.getManagementStrategy().getManagementAgent().getLoadStatisticsEnabled();
+ boolean disabled = !load || camelContext.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.Off;
LOG.debug("Load performance statistics {}", disabled ? "disabled" : "enabled");
if (!disabled) {
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
index 07fb638..b918186 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java
@@ -58,11 +58,10 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
private EventFactory eventFactory = new DefaultEventFactory();
private ManagementNamingStrategy managementNamingStrategy;
private ManagementObjectStrategy managementObjectStrategy;
- private boolean onlyManageProcessorWithCustomId;
+ private Boolean onlyManageProcessorWithCustomId;
private ManagementAgent managementAgent;
- private ManagementStatisticsLevel statisticsLevel = ManagementStatisticsLevel.All;
- private boolean loadStatisticsEnabled;
- private boolean extendedStatisticsEnabled;
+ private ManagementStatisticsLevel statisticsLevel;
+ private Boolean loadStatisticsEnabled;
private CamelContext camelContext;
public DefaultManagementStrategy() {
@@ -131,7 +130,7 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
}
public boolean isOnlyManageProcessorWithCustomId() {
- return onlyManageProcessorWithCustomId;
+ return onlyManageProcessorWithCustomId != null && onlyManageProcessorWithCustomId;
}
public boolean manageProcessor(ProcessorDefinition<?> definition) {
@@ -203,14 +202,6 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
this.loadStatisticsEnabled = loadStatisticsEnabled;
}
- public boolean isExtendedStatisticsEnabled() {
- return extendedStatisticsEnabled;
- }
-
- public void setExtendedStatisticsEnabled(boolean extendedStatisticsEnabled) {
- this.extendedStatisticsEnabled = extendedStatisticsEnabled;
- }
-
protected void doStart() throws Exception {
LOG.info("JMX is disabled");
doStartManagementStrategy();
@@ -238,6 +229,14 @@ public class DefaultManagementStrategy extends ServiceSupport implements Managem
if (managementNamingStrategy == null) {
setManagementNamingStrategy(new DefaultManagementNamingStrategy(managementAgent.getMBeanObjectDomainName()));
}
+ if (statisticsLevel != null) {
+ LOG.warn("Using @deprecated option statisticsLevel on ManagementStrategy. Configure this on ManagementAgent instead.");
+ managementAgent.setStatisticsLevel(statisticsLevel);
+ }
+ if (onlyManageProcessorWithCustomId != null) {
+ LOG.warn("Using @deprecated option onlyManageProcessorWithCustomId on ManagementStrategy. Configure this on ManagementAgent instead.");
+ managementAgent.setOnlyRegisterProcessorWithCustomId(onlyManageProcessorWithCustomId);
+ }
}
if (managementNamingStrategy instanceof CamelContextAware) {
((CamelContextAware) managementNamingStrategy).setCamelContext(getCamelContext());
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/management/JmxSystemPropertyKeys.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/JmxSystemPropertyKeys.java b/camel-core/src/main/java/org/apache/camel/management/JmxSystemPropertyKeys.java
index 14e64ec..fdde84c 100644
--- a/camel-core/src/main/java/org/apache/camel/management/JmxSystemPropertyKeys.java
+++ b/camel-core/src/main/java/org/apache/camel/management/JmxSystemPropertyKeys.java
@@ -50,6 +50,12 @@ public final class JmxSystemPropertyKeys {
// whether all processors or only processors with a custom id given should be registered
public static final String ONLY_REGISTER_PROCESSOR_WITH_CUSTOM_ID = "org.apache.camel.jmx.onlyRegisterProcessorWithCustomId";
+ // whether to enable gathering load statistics in the background
+ public static final String LOAD_STATISTICS_ENABLED = "org.apache.camel.jmx.loadStatisticsEnabled";
+
+ // the level of statistics enabled
+ public static final String STATISTICS_LEVEL = "org.apache.camel.jmx.statisticsLevel";
+
// whether to register always
public static final String REGISTER_ALWAYS = "org.apache.camel.jmx.registerAlways";
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
index e1d9ef3..8fb61be 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedProcessor.java
@@ -25,7 +25,6 @@ import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import org.apache.camel.CamelContext;
-import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.Processor;
import org.apache.camel.Route;
import org.apache.camel.ServiceStatus;
@@ -58,7 +57,7 @@ public class ManagedProcessor extends ManagedPerformanceCounter implements Manag
this.definition = definition;
this.id = definition.idOrCreate(context.getNodeIdFactory());
- boolean enabled = context.getManagementStrategy().getStatisticsLevel() == ManagementStatisticsLevel.All;
+ boolean enabled = context.getManagementStrategy().getManagementAgent().getStatisticsLevel().isDefaultOrExtended();
setStatisticsEnabled(enabled);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java b/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
index df1f183..ae552da 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ManagementAgent.java
@@ -20,6 +20,7 @@ import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.Service;
/**
@@ -287,4 +288,52 @@ public interface ManagementAgent extends Service {
*/
void setIncludeHostName(Boolean includeHostName);
+ /**
+ * The naming pattern for creating the CamelContext management name.
+ * <p/>
+ * The default pattern is <tt>#name#</tt>
+ */
+ String getManagementNamePattern();
+
+ /**
+ * The naming pattern for creating the CamelContext management name.
+ * <p/>
+ * The default pattern is <tt>#name#</tt>
+ */
+ void setManagementNamePattern(String managementNamePattern);
+
+ /**
+ * Sets whether load statistics is enabled (gathers load statistics using a background thread per CamelContext).
+ * <p/>
+ * The default value is <tt>false</tt>
+ *
+ * @param flag <tt>true</tt> to enable load statistics
+ */
+ void setLoadStatisticsEnabled(Boolean flag);
+
+ /**
+ * Gets whether load statistics is enabled
+ *
+ * @return <tt>true</tt> if enabled
+ */
+ Boolean getLoadStatisticsEnabled();
+
+ /**
+ * Sets the statistics level
+ * <p/>
+ * Default is {@link org.apache.camel.ManagementStatisticsLevel#Default}
+ * <p/>
+ * The level can be set to <tt>Extended</tt> to gather additional information
+ *
+ * @param level the new level
+ */
+ void setStatisticsLevel(ManagementStatisticsLevel level);
+
+ /**
+ * Gets the statistics level
+ *
+ * @return the level
+ */
+ ManagementStatisticsLevel getStatisticsLevel();
+
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java b/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
index bc8ff06..d483eb4 100644
--- a/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/spi/ManagementStrategy.java
@@ -207,58 +207,56 @@ public interface ManagementStrategy extends Service {
* Default is false.
*
* @param flag <tt>true</tt> will only manage if custom id was set.
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
void onlyManageProcessorWithCustomId(boolean flag);
/**
* Checks whether only to manage processors if they have been configured with a custom id
*
* @return true or false
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
boolean isOnlyManageProcessorWithCustomId();
/**
* Sets whether load statistics is enabled.
*
* @param flag <tt>true</tt> to enable load statistics
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
void setLoadStatisticsEnabled(boolean flag);
/**
* Gets whether load statistics is enabled
*
* @return <tt>true</tt> if enabled
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
boolean isLoadStatisticsEnabled();
/**
- * Sets whether extended statistics is enabled, such as each EIP keep tracks of per endpoint utilization.
- *
- * @param flag <tt>true</tt> to enable extended statistics
- */
- void setExtendedStatisticsEnabled(boolean flag);
-
- /**
- * Gets whether extended statistics is enabled
- *
- * @return <tt>true</tt> if enabled
- */
- boolean isExtendedStatisticsEnabled();
-
- /**
* Sets the statistics level
* <p/>
- * Default is {@link org.apache.camel.ManagementStatisticsLevel#All}
+ * Default is {@link org.apache.camel.ManagementStatisticsLevel#Default}
*
* @param level the new level
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
void setStatisticsLevel(ManagementStatisticsLevel level);
/**
* Gets the statistics level
*
* @return the level
+ * @deprecated use {@link org.apache.camel.spi.ManagementAgent}
*/
+ @Deprecated
ManagementStatisticsLevel getStatisticsLevel();
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java b/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
index 78343d2..1861923 100644
--- a/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest.java
@@ -72,7 +72,7 @@ public class JmxInstrumentationOnlyRegisterProcessorWithCustomIdTest extends Con
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().onlyManageProcessorWithCustomId(true);
+ context.getManagementStrategy().getManagementAgent().setOnlyRegisterProcessorWithCustomId(true);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedDynamicRouterTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedDynamicRouterTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedDynamicRouterTest.java
index ccf10aa..5775132 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedDynamicRouterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedDynamicRouterTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedDynamicRouterTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedEnricherTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedEnricherTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedEnricherTest.java
index 99724b4..23c1596 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedEnricherTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedEnricherTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedEnricherTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedRecipientListTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRecipientListTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRecipientListTest.java
index a6b7328..5daadd7 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedRecipientListTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRecipientListTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedRecipientListTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedRouteLoadstatisticsTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteLoadstatisticsTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteLoadstatisticsTest.java
index 4b9c19b..6d1d9a3 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedRouteLoadstatisticsTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRouteLoadstatisticsTest.java
@@ -32,7 +32,9 @@ public class ManagedRouteLoadstatisticsTest extends ManagementTestSupport {
return;
}
- assertFalse(context.getManagementStrategy().isLoadStatisticsEnabled());
+ boolean load = context.getManagementStrategy().getManagementAgent().getLoadStatisticsEnabled() != null
+ && context.getManagementStrategy().getManagementAgent().getLoadStatisticsEnabled();
+ assertFalse(load);
// get the stats for the route
MBeanServer mbeanServer = getMBeanServer();
ObjectName on = ObjectName.getInstance("org.apache.camel:context=camel-1,type=routes,name=\"route1\"");
@@ -55,7 +57,7 @@ public class ManagedRouteLoadstatisticsTest extends ManagementTestSupport {
if (isPlatform("aix")) {
return;
}
- context.getManagementStrategy().setLoadStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setLoadStatisticsEnabled(true);
context.stop();
context.start();
// get the stats for the route
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedRoutingSlipTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedRoutingSlipTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedRoutingSlipTest.java
index 0ebf549..c830354 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedRoutingSlipTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedRoutingSlipTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedRoutingSlipTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java
index 2c2b895..eb7ff51 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedSendDynamicProcessorTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedSendDynamicProcessorTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/488f3912/camel-core/src/test/java/org/apache/camel/management/ManagedWireTapTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedWireTapTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedWireTapTest.java
index 58b9943..c87f78f 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedWireTapTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedWireTapTest.java
@@ -21,6 +21,7 @@ import javax.management.ObjectName;
import javax.management.openmbean.TabularData;
import org.apache.camel.CamelContext;
+import org.apache.camel.ManagementStatisticsLevel;
import org.apache.camel.ServiceStatus;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
@@ -33,7 +34,7 @@ public class ManagedWireTapTest extends ManagementTestSupport {
@Override
protected CamelContext createCamelContext() throws Exception {
CamelContext context = super.createCamelContext();
- context.getManagementStrategy().setExtendedStatisticsEnabled(true);
+ context.getManagementStrategy().getManagementAgent().setStatisticsLevel(ManagementStatisticsLevel.Extended);
return context;
}