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");

Reply via email to