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 2013/08/13 11:15:09 UTC

[2/2] git commit: CAMEL-4974: Renamed option from sanitize to mask

CAMEL-4974: Renamed option from sanitize to mask


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/64f5a86a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/64f5a86a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/64f5a86a

Branch: refs/heads/master
Commit: 64f5a86a1923f73b3a46c73216653b1c794bd863
Parents: d34b9c1
Author: Claus Ibsen <da...@apache.org>
Authored: Tue Aug 13 11:14:48 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Tue Aug 13 11:14:48 2013 +0200

----------------------------------------------------------------------
 .../camel/api/management/ManagedAttribute.java  |  2 +-
 .../camel/api/management/ManagedOperation.java  |  2 +-
 .../management/mbean/ManagedConsumerMBean.java  |  2 +-
 .../management/mbean/ManagedEndpointMBean.java  |  2 +-
 .../mbean/ManagedErrorHandlerMBean.java         |  2 +-
 .../management/mbean/ManagedProducerMBean.java  |  2 +-
 .../api/management/mbean/ManagedRouteMBean.java |  2 +-
 .../mbean/ManagedSendProcessorMBean.java        |  2 +-
 .../management/DefaultManagementAgent.java      | 14 +--
 .../DefaultManagementMBeanAssembler.java        |  4 +-
 .../DefaultManagementNamingStrategy.java        |  3 +-
 .../camel/management/JmxSystemPropertyKeys.java |  2 +-
 .../camel/management/MBeanInfoAssembler.java    | 34 +++----
 .../management/MaskRequiredModelMBean.java      | 95 ++++++++++++++++++++
 .../management/SanitizeRequiredModelMBean.java  | 94 -------------------
 .../management/mbean/ManagedSendProcessor.java  |  2 +-
 .../org/apache/camel/spi/ManagementAgent.java   |  4 +-
 .../camel/management/ManagedSanitizeTest.java   |  2 +-
 .../xml/AbstractCamelContextFactoryBean.java    |  2 +-
 .../camel/core/xml/CamelJMXAgentDefinition.java | 14 +--
 .../apache/camel/component/jms/JmsEndpoint.java |  2 +-
 .../management/SpringManagedSanitizeTest.xml    |  4 +-
 .../component/zookeeper/ZooKeeperEndpoint.java  |  2 +-
 23 files changed, 147 insertions(+), 147 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/ManagedAttribute.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/ManagedAttribute.java b/camel-core/src/main/java/org/apache/camel/api/management/ManagedAttribute.java
index 790ce5d..9f24f78 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/ManagedAttribute.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/ManagedAttribute.java
@@ -34,6 +34,6 @@ public @interface ManagedAttribute {
 
     String description() default "";
 
-    boolean sanitize() default false;
+    boolean mask() default false;
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/ManagedOperation.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/ManagedOperation.java b/camel-core/src/main/java/org/apache/camel/api/management/ManagedOperation.java
index 6a10c09..a5e5c69 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/ManagedOperation.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/ManagedOperation.java
@@ -34,6 +34,6 @@ public @interface ManagedOperation {
 
     String description() default "";
 
-    boolean sanitize() default false;
+    boolean mask() default false;
 
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
index 24ee956..6aee218 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedConsumerMBean.java
@@ -20,7 +20,7 @@ import org.apache.camel.api.management.ManagedAttribute;
 
 public interface ManagedConsumerMBean extends ManagedServiceMBean {
 
-    @ManagedAttribute(description = "Endpoint URI", sanitize = true)
+    @ManagedAttribute(description = "Endpoint URI", mask = true)
     String getEndpointUri();
 
     @ManagedAttribute(description = "Current number of inflight Exchanges")

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
index 1c82032..6b9c9b8 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedEndpointMBean.java
@@ -23,7 +23,7 @@ public interface ManagedEndpointMBean {
     @ManagedAttribute(description = "Camel ID")
     String getCamelId();
 
-    @ManagedAttribute(description = "Endpoint URI", sanitize = true)
+    @ManagedAttribute(description = "Endpoint URI", mask = true)
     String getEndpointUri();
 
     @ManagedAttribute(description = "Singleton")

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
index 50b5ff1..9d0c95c 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedErrorHandlerMBean.java
@@ -35,7 +35,7 @@ public interface ManagedErrorHandlerMBean {
     @ManagedAttribute(description = "Does this error handler support transactions")
     boolean isSupportTransactions();
 
-    @ManagedAttribute(description = "Endpoint Uri for the dead letter channel where dead message is move to", sanitize = true)
+    @ManagedAttribute(description = "Endpoint Uri for the dead letter channel where dead message is move to", mask = true)
     String getDeadLetterChannelEndpointUri();
 
     @ManagedAttribute(description = "RedeliveryPolicy for maximum redeliveries")

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
index ad47f94..a35d533 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedProducerMBean.java
@@ -20,7 +20,7 @@ import org.apache.camel.api.management.ManagedAttribute;
 
 public interface ManagedProducerMBean extends ManagedServiceMBean {
 
-    @ManagedAttribute(description = "Endpoint URI", sanitize = true)
+    @ManagedAttribute(description = "Endpoint URI", mask = true)
     String getEndpointUri();
 
     @ManagedAttribute(description = "Singleton")

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
index b945ce7..7f90e12 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedRouteMBean.java
@@ -27,7 +27,7 @@ public interface ManagedRouteMBean extends ManagedPerformanceCounterMBean {
     @ManagedAttribute(description = "Route Description")
     String getDescription();
 
-    @ManagedAttribute(description = "Route Endpoint URI", sanitize = true)
+    @ManagedAttribute(description = "Route Endpoint URI", mask = true)
     String getEndpointUri();
 
     @ManagedAttribute(description = "Route State")

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
index 795c8a3..b164592 100644
--- a/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
+++ b/camel-core/src/main/java/org/apache/camel/api/management/mbean/ManagedSendProcessorMBean.java
@@ -20,7 +20,7 @@ import org.apache.camel.api.management.ManagedAttribute;
 
 public interface ManagedSendProcessorMBean extends ManagedProcessorMBean {
 
-    @ManagedAttribute(description = "Destination as Endpoint URI", sanitize = true)
+    @ManagedAttribute(description = "Destination as Endpoint URI", mask = true)
     String getDestination();
 
     /**

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/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 d2e57fb..d775b45 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
@@ -76,7 +76,7 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
     private Boolean onlyRegisterProcessorWithCustomId;
     private Boolean registerAlways;
     private Boolean registerNewRoutes = true;
-    private Boolean sanitize;
+    private Boolean mask;
 
     public DefaultManagementAgent() {
     }
@@ -120,8 +120,8 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
         if (System.getProperty(JmxSystemPropertyKeys.REGISTER_NEW_ROUTES) != null) {
             registerNewRoutes = Boolean.getBoolean(JmxSystemPropertyKeys.REGISTER_NEW_ROUTES);
         }
-        if (System.getProperty(JmxSystemPropertyKeys.SANITIZE) != null) {
-            sanitize = Boolean.getBoolean(JmxSystemPropertyKeys.SANITIZE);
+        if (System.getProperty(JmxSystemPropertyKeys.MASK) != null) {
+            mask = Boolean.getBoolean(JmxSystemPropertyKeys.MASK);
         }
     }
 
@@ -213,12 +213,12 @@ public class DefaultManagementAgent extends ServiceSupport implements Management
         this.registerNewRoutes = registerNewRoutes;
     }
 
-    public Boolean getSanitize() {
-        return sanitize != null && sanitize;
+    public Boolean getMask() {
+        return mask != null && mask;
     }
 
-    public void setSanitize(Boolean sanitize) {
-        this.sanitize = sanitize;
+    public void setMask(Boolean mask) {
+        this.mask = mask;
     }
 
     public CamelContext getCamelContext() {

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/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 b50b006..262b520 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
@@ -77,9 +77,9 @@ public class DefaultManagementMBeanAssembler implements ManagementMBeanAssembler
         }
 
         RequiredModelMBean mbean;
-        boolean sanitize = camelContext.getManagementStrategy().getManagementAgent().getSanitize() != null && camelContext.getManagementStrategy().getManagementAgent().getSanitize();
+        boolean sanitize = camelContext.getManagementStrategy().getManagementAgent().getMask() != null && camelContext.getManagementStrategy().getManagementAgent().getMask();
         if (sanitize) {
-            mbean = new SanitizeRequiredModelMBean(mbi, sanitize);
+            mbean = new MaskRequiredModelMBean(mbi, sanitize);
         } else {
             mbean = (RequiredModelMBean) mBeanServer.instantiate(RequiredModelMBean.class.getName());
             mbean.setModelMBeanInfo(mbi);

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
index 104103d..c2a45ad 100644
--- a/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/management/DefaultManagementNamingStrategy.java
@@ -36,7 +36,6 @@ import org.apache.camel.StaticService;
 import org.apache.camel.builder.ErrorHandlerBuilderRef;
 import org.apache.camel.spi.EventNotifier;
 import org.apache.camel.spi.InterceptStrategy;
-import org.apache.camel.spi.ManagementAgent;
 import org.apache.camel.spi.ManagementNamingStrategy;
 import org.apache.camel.spi.RouteContext;
 import org.apache.camel.util.InetAddressUtil;
@@ -312,7 +311,7 @@ public class DefaultManagementNamingStrategy implements ManagementNamingStrategy
 
     protected String getEndpointId(Endpoint ep) {
         String answer = doGetEndpointId(ep);
-        Boolean sanitize = camelContext != null && camelContext.getManagementStrategy().getManagementAgent().getSanitize();
+        Boolean sanitize = camelContext != null && camelContext.getManagementStrategy().getManagementAgent().getMask();
         if (sanitize != null && sanitize) {
             // use xxxxxx as replacements as * has to be quoted for MBean names
             answer = URISupport.sanitizeUri(answer);

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/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 fc779fe..ac0a052 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
@@ -57,7 +57,7 @@ public final class JmxSystemPropertyKeys {
     public static final String REGISTER_NEW_ROUTES = "org.apache.camel.jmx.registerNewRoutes";
 
     // Whether to remove detected sensitive information (such as passwords) from MBean names and attributes.
-    public static final String SANITIZE = "org.apache.camel.jmx.sanitize";
+    public static final String MASK = "org.apache.camel.jmx.mask";
 
     private JmxSystemPropertyKeys() {
         // not instantiated

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/management/MBeanInfoAssembler.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/MBeanInfoAssembler.java b/camel-core/src/main/java/org/apache/camel/management/MBeanInfoAssembler.java
index b74753a..56b5a14 100644
--- a/camel-core/src/main/java/org/apache/camel/management/MBeanInfoAssembler.java
+++ b/camel-core/src/main/java/org/apache/camel/management/MBeanInfoAssembler.java
@@ -202,7 +202,7 @@ public class MBeanInfoAssembler implements Service {
                 String desc = ma.description();
                 Method getter = null;
                 Method setter = null;
-                boolean sanitize = ma.sanitize();
+                boolean mask = ma.mask();
 
                 if (cacheInfo.isGetter) {
                     key = cacheInfo.getterOrSetterShorthandName;
@@ -228,7 +228,7 @@ public class MBeanInfoAssembler implements Service {
                 if (setter != null) {
                     info.setSetter(setter);
                 }
-                info.setSanitize(sanitize);
+                info.setMask(mask);
 
                 attributes.put(key, info);
             }
@@ -238,8 +238,8 @@ public class MBeanInfoAssembler implements Service {
             if (mo != null) {
                 String desc = mo.description();
                 Method operation = cacheInfo.method;
-                boolean sanitize = mo.sanitize();
-                operations.add(new ManagedOperationInfo(desc, operation, sanitize));
+                boolean mask = mo.mask();
+                operations.add(new ManagedOperationInfo(desc, operation, mask));
             }
         }
     }
@@ -253,13 +253,13 @@ public class MBeanInfoAssembler implements Service {
             // add missing attribute descriptors, this is needed to have attributes accessible
             Descriptor desc = mbeanAttribute.getDescriptor();
 
-            desc.setField("sanitize", info.isSanitize() ? "true" : "false");
+            desc.setField("mask", info.isMask() ? "true" : "false");
             if (info.getGetter() != null) {
                 desc.setField("getMethod", info.getGetter().getName());
                 // attribute must also be added as mbean operation
                 ModelMBeanOperationInfo mbeanOperation = new ModelMBeanOperationInfo(info.getKey(), info.getGetter());
                 Descriptor opDesc = mbeanOperation.getDescriptor();
-                opDesc.setField("sanitize", info.isSanitize() ? "true" : "false");
+                opDesc.setField("mask", info.isMask() ? "true" : "false");
                 mbeanOperation.setDescriptor(opDesc);
                 mBeanOperations.add(mbeanOperation);
             }
@@ -280,7 +280,7 @@ public class MBeanInfoAssembler implements Service {
         for (ManagedOperationInfo info : operations) {
             ModelMBeanOperationInfo mbean = new ModelMBeanOperationInfo(info.getDescription(), info.getOperation());
             Descriptor opDesc = mbean.getDescriptor();
-            opDesc.setField("sanitize", info.isSanitize() ? "true" : "false");
+            opDesc.setField("mask", info.isMask() ? "true" : "false");
             mbean.setDescriptor(opDesc);
             mBeanOperations.add(mbean);
             LOG.trace("Assembled operation: {}", mbean);
@@ -312,7 +312,7 @@ public class MBeanInfoAssembler implements Service {
         private String description;
         private Method getter;
         private Method setter;
-        private boolean sanitize;
+        private boolean mask;
 
         private ManagedAttributeInfo(String key, String description) {
             this.key = key;
@@ -343,12 +343,12 @@ public class MBeanInfoAssembler implements Service {
             this.setter = setter;
         }
 
-        public boolean isSanitize() {
-            return sanitize;
+        public boolean isMask() {
+            return mask;
         }
 
-        public void setSanitize(boolean sanitize) {
-            this.sanitize = sanitize;
+        public void setMask(boolean mask) {
+            this.mask = mask;
         }
 
         @Override
@@ -360,12 +360,12 @@ public class MBeanInfoAssembler implements Service {
     private static final class ManagedOperationInfo {
         private final String description;
         private final Method operation;
-        private final boolean sanitize;
+        private final boolean mask;
 
-        private ManagedOperationInfo(String description, Method operation, boolean sanitize) {
+        private ManagedOperationInfo(String description, Method operation, boolean mask) {
             this.description = description;
             this.operation = operation;
-            this.sanitize = sanitize;
+            this.mask = mask;
         }
 
         public String getDescription() {
@@ -376,8 +376,8 @@ public class MBeanInfoAssembler implements Service {
             return operation;
         }
 
-        public boolean isSanitize() {
-            return sanitize;
+        public boolean isMask() {
+            return mask;
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/management/MaskRequiredModelMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/MaskRequiredModelMBean.java b/camel-core/src/main/java/org/apache/camel/management/MaskRequiredModelMBean.java
new file mode 100644
index 0000000..697ed3e
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/management/MaskRequiredModelMBean.java
@@ -0,0 +1,95 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.management;
+
+import javax.management.Descriptor;
+import javax.management.MBeanException;
+import javax.management.MBeanOperationInfo;
+import javax.management.ReflectionException;
+import javax.management.RuntimeOperationsException;
+import javax.management.modelmbean.ModelMBeanInfo;
+import javax.management.modelmbean.RequiredModelMBean;
+
+import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.util.URISupport;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A {@link RequiredModelMBean} which allows us to intercept invoking operations on the MBean.
+ * <p/>
+ * For example if mask has been enabled on JMX, then we use this implementation
+ * to hide sensitive information from the returned JMX attributes / operations.
+ */
+public class MaskRequiredModelMBean extends RequiredModelMBean {
+
+    private static final Logger LOG = LoggerFactory.getLogger(MaskRequiredModelMBean.class);
+    private boolean mask;
+
+    public MaskRequiredModelMBean() throws MBeanException, RuntimeOperationsException {
+        // must have default no-arg constructor
+    }
+
+    public MaskRequiredModelMBean(ModelMBeanInfo mbi, boolean mask) throws MBeanException, RuntimeOperationsException {
+        super(mbi);
+        this.mask = mask;
+    }
+
+    public boolean isMask() {
+        return mask;
+    }
+
+    @Override
+    public Object invoke(String opName, Object[] opArgs, String[] sig) throws MBeanException, ReflectionException {
+        Object answer = super.invoke(opName, opArgs, sig);
+        // mask the answer if enabled and it was a String type (we cannot mask other types)
+        if (mask && answer instanceof String && ObjectHelper.isNotEmpty(answer) && isMaskOperation(opName)) {
+            answer = mask(opName, (String) answer);
+        }
+        return answer;
+    }
+
+    protected boolean isMaskOperation(String opName) {
+        for (MBeanOperationInfo info : getMBeanInfo().getOperations()) {
+            if (info.getName().equals(opName)) {
+                Descriptor desc = info.getDescriptor();
+                if (desc != null) {
+                    Object val = desc.getFieldValue("mask");
+                    return val != null && "true".equals(val);
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Masks the returned value from invoking the operation
+     *
+     * @param opName  the operation name invoked
+     * @param value   the current value
+     * @return the masked value
+     */
+    protected String mask(String opName, String value) {
+        // use sanitize uri which will mask sensitive information
+        String answer = URISupport.sanitizeUri(value);
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("Masking JMX operation: {}.{} value: {} -> {}",
+                    new Object[]{getMBeanInfo().getClassName(), opName, value, answer});
+        }
+        return answer;
+    }
+}

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/management/SanitizeRequiredModelMBean.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/SanitizeRequiredModelMBean.java b/camel-core/src/main/java/org/apache/camel/management/SanitizeRequiredModelMBean.java
deleted file mode 100644
index 6d34e75..0000000
--- a/camel-core/src/main/java/org/apache/camel/management/SanitizeRequiredModelMBean.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.management;
-
-import javax.management.Descriptor;
-import javax.management.MBeanException;
-import javax.management.MBeanOperationInfo;
-import javax.management.ReflectionException;
-import javax.management.RuntimeOperationsException;
-import javax.management.modelmbean.ModelMBeanInfo;
-import javax.management.modelmbean.RequiredModelMBean;
-
-import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.util.URISupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * A {@link RequiredModelMBean} which allows us to intercept invoking operations on the MBean.
- * <p/>
- * For example if sanitize has been enabled on JMX, then we use this implementation
- * to hide sensitive information from the returned JMX attributes / operations.
- */
-public class SanitizeRequiredModelMBean extends RequiredModelMBean {
-
-    private static final Logger LOG = LoggerFactory.getLogger(SanitizeRequiredModelMBean.class);
-    private boolean sanitize;
-
-    public SanitizeRequiredModelMBean() throws MBeanException, RuntimeOperationsException {
-        // must have default no-arg constructor
-    }
-
-    public SanitizeRequiredModelMBean(ModelMBeanInfo mbi, boolean sanitize) throws MBeanException, RuntimeOperationsException {
-        super(mbi);
-        this.sanitize = sanitize;
-    }
-
-    public boolean isSanitize() {
-        return sanitize;
-    }
-
-    @Override
-    public Object invoke(String opName, Object[] opArgs, String[] sig) throws MBeanException, ReflectionException {
-        Object answer = super.invoke(opName, opArgs, sig);
-        // sanitize the answer if enabled and it was a String type (we cannot sanitize other types)
-        if (sanitize && answer instanceof String && ObjectHelper.isNotEmpty(answer) && isSanitizedOperation(opName)) {
-            answer = sanitize(opName, (String) answer);
-        }
-        return answer;
-    }
-
-    protected boolean isSanitizedOperation(String opName) {
-        for (MBeanOperationInfo info : getMBeanInfo().getOperations()) {
-            if (info.getName().equals(opName)) {
-                Descriptor desc = info.getDescriptor();
-                if (desc != null) {
-                    Object val = desc.getFieldValue("sanitize");
-                    return val != null && "true".equals(val);
-                }
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Sanitizes the returned value from invoking the operation
-     *
-     * @param opName  the operation name invoked
-     * @param value   the current value
-     * @return the sanitized value
-     */
-    protected String sanitize(String opName, String value) {
-        String answer = URISupport.sanitizeUri(value);
-        if (LOG.isTraceEnabled()) {
-            LOG.trace("Sanitizing JMX operation: {}.{} value: {} -> {}",
-                    new Object[]{getMBeanInfo().getClassName(), opName, value, answer});
-        }
-        return answer;
-    }
-}

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
index b824da8..43f74e7 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedSendProcessor.java
@@ -39,7 +39,7 @@ public class ManagedSendProcessor extends ManagedProcessor implements ManagedSen
 
     public void init(ManagementStrategy strategy) {
         super.init(strategy);
-        boolean sanitize = strategy.getManagementAgent().getSanitize() != null ? strategy.getManagementAgent().getSanitize() : false;
+        boolean sanitize = strategy.getManagementAgent().getMask() != null ? strategy.getManagementAgent().getMask() : false;
         if (sanitize) {
             destination = URISupport.sanitizeUri(processor.getDestination().getEndpointUri());
         } else {

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/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 4610beb..b0354c8 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
@@ -251,12 +251,12 @@ public interface ManagementAgent extends Service {
      * <p/>
      * This option is default <tt>false</tt>.
      */
-    Boolean getSanitize();
+    Boolean getMask();
 
     /**
      * Whether to remove detected sensitive information (such as passwords) from MBean names and attributes.
      * <p/>
      * This option is default <tt>false</tt>.
      */
-    void setSanitize(Boolean sanitize);
+    void setMask(Boolean sanitize);
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/camel-core/src/test/java/org/apache/camel/management/ManagedSanitizeTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/management/ManagedSanitizeTest.java b/camel-core/src/test/java/org/apache/camel/management/ManagedSanitizeTest.java
index c5d3710..7a1d07a 100644
--- a/camel-core/src/test/java/org/apache/camel/management/ManagedSanitizeTest.java
+++ b/camel-core/src/test/java/org/apache/camel/management/ManagedSanitizeTest.java
@@ -30,7 +30,7 @@ public class ManagedSanitizeTest extends ManagementTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
-        context.getManagementStrategy().getManagementAgent().setSanitize(true);
+        context.getManagementStrategy().getManagementAgent().setMask(true);
         return context;
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
----------------------------------------------------------------------
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index f158d63..ac13f35 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -364,7 +364,7 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
             agent.setOnlyRegisterProcessorWithCustomId(CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getOnlyRegisterProcessorWithCustomId()));
             agent.setRegisterAlways(CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getRegisterAlways()));
             agent.setRegisterNewRoutes(CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getRegisterNewRoutes()));
-            agent.setSanitize(CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getSanitize()));
+            agent.setMask(CamelContextHelper.parseBoolean(getContext(), camelJMXAgent.getMask()));
 
             ManagementStrategy managementStrategy = new ManagedManagementStrategy(getContext(), agent);
             getContext().setManagementStrategy(managementStrategy);

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java
----------------------------------------------------------------------
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java
index 59da461..6d73c3c 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/CamelJMXAgentDefinition.java
@@ -115,7 +115,7 @@ public class CamelJMXAgentDefinition extends IdentifiedType {
      * A flag that indicates whether to remove detected sensitive information (such as passwords) from MBean names and attributes.
      */
     @XmlAttribute
-    private String sanitize = "false";
+    private String mask = "false";
 
     public String getDisabled() {
         return disabled;
@@ -221,12 +221,12 @@ public class CamelJMXAgentDefinition extends IdentifiedType {
         this.loadStatisticsEnabled = loadStatisticsEnabled;
     }
 
-    public String getSanitize() {
-        return sanitize;
+    public String getMask() {
+        return mask;
     }
 
-    public void setSanitize(String sanitize) {
-        this.sanitize = sanitize;
+    public void setMask(String mask) {
+        this.mask = mask;
     }
 
     @Override
@@ -267,8 +267,8 @@ public class CamelJMXAgentDefinition extends IdentifiedType {
         if (registerNewRoutes != null) {
             sb.append(", registerNewRoutes=").append(registerNewRoutes);
         }
-        if (sanitize != null) {
-            sb.append(", sanitize=").append(sanitize);
+        if (mask != null) {
+            sb.append(", mask=").append(mask);
         }
         sb.append("]");
         return sb.toString();

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
index e8545fa..701de7c 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
@@ -1130,7 +1130,7 @@ public class JmsEndpoint extends DefaultEndpoint implements HeaderFilterStrategy
         return getCamelContext().getName();
     }
 
-    @ManagedAttribute(description = "Endpoint Uri", sanitize = true)
+    @ManagedAttribute(description = "Endpoint Uri", mask = true)
     @Override
     public String getEndpointUri() {
         return super.getEndpointUri();

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSanitizeTest.xml
----------------------------------------------------------------------
diff --git a/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSanitizeTest.xml b/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSanitizeTest.xml
index fecff5e..940e244 100644
--- a/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSanitizeTest.xml
+++ b/components/camel-spring/src/test/resources/org/apache/camel/spring/management/SpringManagedSanitizeTest.xml
@@ -29,8 +29,8 @@
 
   <!-- START SNIPPET: example -->
   <camelContext xmlns="http://camel.apache.org/schema/spring">
-    <!-- sanitize JMX so sensitive information such as passwords is not shown -->
-    <jmxAgent id="agent" sanitize="true"/>
+    <!-- mask JMX so sensitive information such as passwords is not shown -->
+    <jmxAgent id="agent" mask="true"/>
 
     <route id="foo">
       <from uri="direct:start"/>

http://git-wip-us.apache.org/repos/asf/camel/blob/64f5a86a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
index 9832eff..5b74931 100644
--- a/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
+++ b/components/camel-zookeeper/src/main/java/org/apache/camel/component/zookeeper/ZooKeeperEndpoint.java
@@ -66,7 +66,7 @@ public class ZooKeeperEndpoint extends DefaultEndpoint {
         return connectionManager;
     }
 
-    @ManagedAttribute(description = "Session Password", sanitize = true)
+    @ManagedAttribute(description = "Session Password", mask = true)
     public byte[] getSessionPassword() {
         return getConfiguration().getSessionPassword();
     }