diff -Naur --strip-trailing-cr jmx.old/AbstractDynamicMBean.java jmx/AbstractDynamicMBean.java --- jmx.old/AbstractDynamicMBean.java 2005-12-05 03:00:54.000000000 +0100 +++ jmx/AbstractDynamicMBean.java 2006-08-14 15:17:03.987216000 +0200 @@ -31,9 +31,26 @@ public abstract class AbstractDynamicMBean implements DynamicMBean, MBeanRegistration { + public static final String DEFAULT_DOMAIN = "log4j"; + String dClassName; MBeanServer server; + /** Contains domain of the object name to register MBean instance(s). */ + protected String domainName = DEFAULT_DOMAIN; + + /** Creates new MBean base in domain. Uses {@link #DEFAULT_DOMAIN}. */ + public AbstractDynamicMBean() { } + + /** + * Creates new MBean base in specified domain. + * @param domainName part of object name, must not be null + */ + public + AbstractDynamicMBean(String domainName) { + this.domainName = domainName; + } + /** * Enables the to get the values of several attributes of the Dynamic MBean. */ diff -Naur --strip-trailing-cr jmx.old/AppenderDynamicMBean.java jmx/AppenderDynamicMBean.java --- jmx.old/AppenderDynamicMBean.java 2006-08-14 13:42:53.782620000 +0200 +++ jmx/AppenderDynamicMBean.java 2006-08-14 16:04:58.049915200 +0200 @@ -63,6 +63,12 @@ private Appender appender; public AppenderDynamicMBean(Appender appender) throws IntrospectionException { + this(appender, DEFAULT_DOMAIN); + } + + public AppenderDynamicMBean(Appender appender, String domainName) + throws IntrospectionException { + super(domainName); this.appender = appender; buildDynamicMBeanInfo(); } @@ -191,7 +197,7 @@ ObjectName objectName = null; try { LayoutDynamicMBean appenderMBean = new LayoutDynamicMBean(layout); - objectName = new ObjectName("log4j:appender="+name); + objectName = new ObjectName(domainName+":appender="+name); server.registerMBean(appenderMBean, objectName); dAttributes.add(new MBeanAttributeInfo("appender="+name, @@ -227,7 +233,7 @@ cat.debug("getAttribute called with ["+attributeName+"]."); if(attributeName.startsWith("appender="+appender.getName()+",layout")) { try { - return new ObjectName("log4j:"+attributeName ); + return new ObjectName(domainName+":"+attributeName ); } catch(Exception e) { cat.error("attributeName", e); } diff -Naur --strip-trailing-cr jmx.old/HierarchyDynamicMBean.java jmx/HierarchyDynamicMBean.java --- jmx.old/HierarchyDynamicMBean.java 2006-08-14 13:42:49.967134000 +0200 +++ jmx/HierarchyDynamicMBean.java 2006-08-14 15:43:48.734729600 +0200 @@ -70,7 +70,14 @@ private static Logger log = Logger.getLogger(HierarchyDynamicMBean.class); + /** Creates new hierarchy root MBean in default domain. */ public HierarchyDynamicMBean() { + this(DEFAULT_DOMAIN); + } + + /** Creates new hierarchy root MBean in named domain. */ + public HierarchyDynamicMBean(String domainName) { + super(domainName); hierarchy = LogManager.getLoggerRepository(); buildDynamicMBeanInfo(); } @@ -115,8 +122,9 @@ String name = logger.getName(); ObjectName objectName = null; try { - LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger); - objectName = new ObjectName("log4j", "logger", name); + LoggerDynamicMBean loggerMBean = new LoggerDynamicMBean(logger, + domainName); + objectName = new ObjectName(domainName, "logger", name); server.registerMBean(loggerMBean, objectName); NotificationFilterSupport nfs = new NotificationFilterSupport(); @@ -221,7 +229,7 @@ val = attributeName.substring(0, k)+'='+ attributeName.substring(k+3); } try { - return new ObjectName("log4j:"+val); + return new ObjectName(domainName+":"+val); } catch(Exception e) { log.error("Could not create ObjectName" + val); } diff -Naur --strip-trailing-cr jmx.old/LoggerDynamicMBean.java jmx/LoggerDynamicMBean.java --- jmx.old/LoggerDynamicMBean.java 2005-12-05 03:00:52.000000000 +0100 +++ jmx/LoggerDynamicMBean.java 2006-08-14 15:44:58.815500800 +0200 @@ -61,6 +61,11 @@ private Logger logger; public LoggerDynamicMBean(Logger logger) { + this(logger, DEFAULT_DOMAIN); + } + + public LoggerDynamicMBean(Logger logger, String domainName) { + super(domainName); this.logger = logger; buildDynamicMBeanInfo(); } @@ -172,7 +177,7 @@ } } else if(attributeName.startsWith("appender=")) { try { - return new ObjectName("log4j:"+attributeName ); + return new ObjectName(domainName+":"+attributeName ); } catch(Exception e) { cat.error("Could not create ObjectName" + attributeName); } @@ -255,8 +260,9 @@ cat.debug("Adding AppenderMBean for appender named "+name); ObjectName objectName = null; try { - AppenderDynamicMBean appenderMBean = new AppenderDynamicMBean(appender); - objectName = new ObjectName("log4j", "appender", name); + AppenderDynamicMBean appenderMBean = new AppenderDynamicMBean(appender, + domainName); + objectName = new ObjectName(domainName, "appender", name); server.registerMBean(appenderMBean, objectName); dAttributes.add(new MBeanAttributeInfo("appender="+name,