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]