Updated Branches: refs/heads/master acf4d84fd -> 9d5bd2245
CAMEL-4974: Added santizie option to JMX to hide sensitive information like password in URIs exposed in JMX MBean names and attributes. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9d5bd224 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9d5bd224 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9d5bd224 Branch: refs/heads/master Commit: 9d5bd2245f7cadf90d50953eb8d042b100e35181 Parents: acf4d84 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Jul 29 23:19:58 2013 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Jul 29 23:19:58 2013 +0200 ---------------------------------------------------------------------- .../management/DefaultManagementMBeanAssembler.java | 5 +++-- .../camel/management/DefaultRequiredModelMBean.java | 13 ++++++++++--- .../spring/spi/SpringManagementMBeanAssembler.java | 5 ++--- 3 files changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/9d5bd224/camel-core/src/main/java/org/apache/camel/management/DefaultManagementMBeanAssembler.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementMBeanAssembler.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementMBeanAssembler.java index 7d73356..45969fe 100644 --- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementMBeanAssembler.java +++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementMBeanAssembler.java @@ -22,7 +22,6 @@ import javax.management.ObjectName; import javax.management.modelmbean.InvalidTargetObjectTypeException; import javax.management.modelmbean.ModelMBean; import javax.management.modelmbean.ModelMBeanInfo; -import javax.management.modelmbean.RequiredModelMBean; import org.apache.camel.CamelContext; import org.apache.camel.api.management.ManagedInstance; @@ -77,7 +76,9 @@ public class DefaultManagementMBeanAssembler implements ManagementMBeanAssembler } boolean santizie = camelContext.getManagementStrategy().getManagementAgent().getSanitize() != null && camelContext.getManagementStrategy().getManagementAgent().getSanitize(); - RequiredModelMBean mbean = new DefaultRequiredModelMBean(mbi, santizie); + DefaultRequiredModelMBean mbean = (DefaultRequiredModelMBean) mBeanServer.instantiate(DefaultRequiredModelMBean.class.getName()); + mbean.setSanitize(santizie); + mbean.setModelMBeanInfo(mbi); try { mbean.setManagedResource(obj, "ObjectReference"); http://git-wip-us.apache.org/repos/asf/camel/blob/9d5bd224/camel-core/src/main/java/org/apache/camel/management/DefaultRequiredModelMBean.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultRequiredModelMBean.java b/camel-core/src/main/java/org/apache/camel/management/DefaultRequiredModelMBean.java index db5447d..1af511c 100644 --- a/camel-core/src/main/java/org/apache/camel/management/DefaultRequiredModelMBean.java +++ b/camel-core/src/main/java/org/apache/camel/management/DefaultRequiredModelMBean.java @@ -35,10 +35,17 @@ import org.apache.camel.util.URISupport; */ public class DefaultRequiredModelMBean extends RequiredModelMBean { - private final boolean sanitize; + private boolean sanitize; - public DefaultRequiredModelMBean(ModelMBeanInfo mbi, boolean sanitize) throws MBeanException, RuntimeOperationsException { - super(mbi); + public DefaultRequiredModelMBean() throws MBeanException, RuntimeOperationsException { + // must have default no-arg constructor + } + + public boolean isSanitize() { + return sanitize; + } + + public void setSanitize(boolean sanitize) { this.sanitize = sanitize; } http://git-wip-us.apache.org/repos/asf/camel/blob/9d5bd224/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringManagementMBeanAssembler.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringManagementMBeanAssembler.java b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringManagementMBeanAssembler.java index dbe7064..8d72a2e 100644 --- a/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringManagementMBeanAssembler.java +++ b/components/camel-spring/src/main/java/org/apache/camel/spring/spi/SpringManagementMBeanAssembler.java @@ -28,7 +28,6 @@ import org.apache.camel.CamelContext; import org.apache.camel.api.management.ManagedInstance; import org.apache.camel.api.management.NotificationSenderAware; import org.apache.camel.management.DefaultManagementMBeanAssembler; -import org.apache.camel.management.DefaultRequiredModelMBean; import org.apache.camel.management.NotificationSenderAdapter; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; @@ -81,8 +80,8 @@ public class SpringManagementMBeanAssembler extends DefaultManagementMBeanAssemb LOG.trace("Assembled MBeanInfo {}", mbi); - boolean santizie = camelContext.getManagementStrategy().getManagementAgent().getSanitize() != null && camelContext.getManagementStrategy().getManagementAgent().getSanitize(); - RequiredModelMBean mbean = new DefaultRequiredModelMBean(mbi, santizie); + RequiredModelMBean mbean = (RequiredModelMBean) mBeanServer.instantiate(RequiredModelMBean.class.getName()); + mbean.setModelMBeanInfo(mbi); try { mbean.setManagedResource(obj, "ObjectReference");