Hi, Apache ZooKeeper has extensive support for JMX and JMX console is enabled by default at the server start up [1]. However with this ZooKeeper registers log4j MBeans as well and this throws a following error log in the MB admin console when ZooKeeper server is started in clustered mode of MB though it doesn't break any functionality.
TID: [0] [MB] [2013-07-17 20:43:55,894] INFO {org.wso2.carbon.coordination.server.CoordinationServer} - Starting Coordination server in clustered mode... {org.wso2.carbon.coordination.server.CoordinationServer} TID: [0] [MB] [2013-07-17 20:43:55,916] ERROR {org.apache.log4j.jmx.AppenderDynamicMBean} - Could not add DynamicLayoutMBean for [CARBON_LOGFILE,layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout]. {org.apache.log4j.jmx.AppenderDynamicMBean} javax.management.InstanceAlreadyExistsException: log4j:appender=CARBON_LOGFILE,layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.AppenderDynamicMBean.registerLayoutMBean(Unknown Source) at org.apache.log4j.jmx.AppenderDynamicMBean.preRegister(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.preRegisterInvoke(DefaultMBeanServerInterceptor.java:1010) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:938) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.LoggerDynamicMBean.registerAppenderMBean(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.appenderMBeanRegistration(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.postRegister(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postRegisterInvoke(DefaultMBeanServerInterceptor.java:1035) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:974) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:67) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:122) at org.wso2.carbon.coordination.server.CoordinationServer.run(CoordinationServer.java:78) TID: [0] [MB] [2013-07-17 20:43:55,916] ERROR {org.apache.log4j.jmx.AppenderDynamicMBean} - Could not add DynamicLayoutMBean for [CARBON_LOGFILE,layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout]. {org.apache.log4j.jmx.AppenderDynamicMBean} javax.management.InstanceAlreadyExistsException: log4j:appender=CARBON_LOGFILE,layout=org.wso2.carbon.utils.logging.TenantAwarePatternLayout at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.AppenderDynamicMBean.registerLayoutMBean(Unknown Source) at org.apache.log4j.jmx.AppenderDynamicMBean.preRegister(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.preRegisterInvoke(DefaultMBeanServerInterceptor.java:1010) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:938) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.LoggerDynamicMBean.registerAppenderMBean(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.appenderMBeanRegistration(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.postRegister(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postRegisterInvoke(DefaultMBeanServerInterceptor.java:1035) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:974) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:67) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:122) at org.wso2.carbon.coordination.server.CoordinationServer.run(CoordinationServer.java:78) TID: [0] [MB] [2013-07-17 20:43:55,919] ERROR {org.apache.log4j.jmx.LoggerDynamicMBean} - Could not add appenderMBean for [CARBON_LOGFILE]. {org.apache.log4j.jmx.LoggerDynamicMBean} javax.management.InstanceAlreadyExistsException: log4j:appender=CARBON_LOGFILE at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.LoggerDynamicMBean.registerAppenderMBean(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.appenderMBeanRegistration(Unknown Source) at org.apache.log4j.jmx.LoggerDynamicMBean.postRegister(Unknown Source) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postRegisterInvoke(DefaultMBeanServerInterceptor.java:1035) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:974) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312) at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:483) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source) at org.apache.zookeeper.jmx.ManagedUtil.registerLog4jMBeans(ManagedUtil.java:67) at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:122) at org.wso2.carbon.coordination.server.CoordinationServer.run(CoordinationServer.java:78) As a workaround i disabled Log4j MBean registration by giving *sh wso2server.sh -Dzookeeper.jmx.log4j.disable=true* when starting Message Broker in clustered mode. Is it ok do disable this or does this happens due to an error in the coordination component? If it is OK to disable this is there any configuration parameter which can be defined in doing this than entering it from the terminal? Thanks! Ishara [1] http://zookeeper.apache.org/doc/r3.3.3/zookeeperJMX.html -- Ishara Premasada Software Engineer, WSO2 Inc. http://wso2.com/ *Blog : http://isharapremadasa.blogspot.com/ Twitter : https://twitter.com/ishadil Mobile : +94 714445832*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev