Author: norman
Date: Fri Dec 31 14:38:58 2010
New Revision: 1054121

URL: http://svn.apache.org/viewvc?rev=1054121&view=rev
Log:
use the same jmxName for handlerchain as in server config

Modified:
    
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ProtocolHandlerChainFactoryPostProcessor.java

Modified: 
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ProtocolHandlerChainFactoryPostProcessor.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ProtocolHandlerChainFactoryPostProcessor.java?rev=1054121&r1=1054120&r2=1054121&view=diff
==============================================================================
--- 
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ProtocolHandlerChainFactoryPostProcessor.java
 (original)
+++ 
james/server/trunk/container-spring/src/main/java/org/apache/james/container/spring/bean/factorypostprocessor/ProtocolHandlerChainFactoryPostProcessor.java
 Fri Dec 31 14:38:58 2010
@@ -22,6 +22,7 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 
+import org.apache.commons.configuration.CombinedConfiguration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationUtils;
 import org.apache.commons.configuration.DefaultConfigurationBuilder;
@@ -83,7 +84,7 @@ public abstract class ProtocolHandlerCha
             Log log = logProvider.getLog(beanname);
             
             HierarchicalConfiguration config = 
confProvider.getConfiguration(beanname);
-            
+            String jmxName = config.getString("jmxName", beanname);;
             HierarchicalConfiguration handlerchainConfig = 
config.configurationAt("handlerchain");
             List<org.apache.commons.configuration.HierarchicalConfiguration> 
children = handlerchainConfig.configurationsAt("handler");
 
@@ -102,7 +103,7 @@ public abstract class ProtocolHandlerCha
             registry.registerBeanDefinition(coreCmdBeanName, def);
             HandlersPackage handlersPackage = 
beanFactory.getBean(coreCmdBeanName, HandlersPackage.class);
 
-            registerHandlersPackage(handlersPackage,children);
+            registerHandlersPackage(handlersPackage, null, children);
           
             String jmxCmdName = jmxHandlersPackage;
             
@@ -114,7 +115,9 @@ public abstract class ProtocolHandlerCha
                 registry.registerBeanDefinition(jmxCmdBeanName, jmxDef);
                 HandlersPackage jmxPackage = 
beanFactory.getBean(jmxCmdBeanName, HandlersPackage.class);
 
-                registerHandlersPackage(jmxPackage,children);
+                DefaultConfigurationBuilder builder = new 
DefaultConfigurationBuilder();
+                builder.addProperty("jmxName", jmxName);
+                registerHandlersPackage(jmxPackage, builder, children);
             }
             
 
@@ -150,15 +153,20 @@ public abstract class ProtocolHandlerCha
 
         
     }
-    private void registerHandlersPackage(HandlersPackage handlersPackage, 
List<HierarchicalConfiguration> children) {
+    private void registerHandlersPackage(HandlersPackage handlersPackage, 
HierarchicalConfiguration handlerConfig, List<HierarchicalConfiguration> 
children) {
         List<String> c = handlersPackage.getHandlers();
 
         for (Iterator<String> i = c.iterator(); i.hasNext();) {
             String cName = i.next();
 
             try {
+                CombinedConfiguration conf = new CombinedConfiguration();
                 HierarchicalConfiguration cmdConf = addHandler(cName);
-                children.add(cmdConf);
+                conf.addConfiguration(cmdConf);
+                if (handlerConfig != null) {
+                    conf.addConfiguration(handlerConfig);
+                }
+                children.add(conf);
             } catch (ConfigurationException e) {
                 throw new FatalBeanException("Unable to create configuration 
for handler " + cName, e);
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to