bump...has anyone fixed this or figured out why this happens, the attribute to ignore exceptions doesn't seem to work? My log4j.xml is located in the ${TOMCAT_HOME}/common/classes directory and not set via dependency injection. Finally, I am using Spring 1.2.7 and viewing the MBeans with MC4J/jconsole.
Thanks,
Julian
Here is my spring config for the log4j and jmx:
Code:
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="registrationBehaviorName" value="REGISTRATION_IGNORE_EXISTING"/>
<property name="beans">
<map>
<entry key="log4j:hiearchy=default" value-ref="hierarchyDynamicMBean"/>
</map>
</property>
</bean>
<bean id="hierarchyDynamicMBean" class="org.apache.log4j.jmx.HierarchyDynamicMBean"/>
And the error I continue to see:
Code:
2006-03-08 19:06:11,717 [main] ERROR org.apache.log4j.jmx.AppenderDynamicMBean.registerLayoutMBean at line ? - Could not add DynamicLayoutMBean for [CONSOLE,layout=org.apache.log4j.PatternLayout].
javax.management.InstanceAlreadyExistsException: log4j:appender=CONSOLE,layout=org.apache.log4j.PatternLayout
at com.sun.jmx.mbeanserver.RepositorySupport.addMBean(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source)
at org.apache.log4j.jmx.AppenderDynamicMBean.registerLayoutMBean(Unknown Source)
at org.apache.log4j.jmx.AppenderDynamicMBean.preRegister(Unknown Source)
at com.sun.jmx.mbeanserver.BaseMetaDataImpl.preRegisterInvoker(Unknown Source)
at com.sun.jmx.mbeanserver.MetaDataImpl.preRegisterInvoker(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source)
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.mbeanserver.BaseMetaDataImpl.postRegisterInvoker(Unknown Source)
at com.sun.jmx.mbeanserver.MetaDataImpl.postRegisterInvoker(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source)
at org.apache.log4j.jmx.HierarchyDynamicMBean.addLoggerMBean(Unknown Source)
at org.apache.log4j.jmx.HierarchyDynamicMBean.postRegister(Unknown Source)
at com.sun.jmx.mbeanserver.BaseMetaDataImpl.postRegisterInvoker(Unknown Source)
at com.sun.jmx.mbeanserver.MetaDataImpl.postRegisterInvoker(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source)
at org.springframework.jmx.export.MBeanExporter.doRegister(MBeanExporter.java:566)
at org.springframework.jmx.export.MBeanExporter.registerMBean(MBeanExporter.java:485)
at org.springframework.jmx.export.MBeanExporter.registerBeanInstance(MBeanExporter.java:461)
at org.springframework.jmx.export.MBeanExporter.registerBeanNameOrInstance(MBeanExporter.java:441)
at org.springframework.jmx.export.MBeanExporter.registerBeans(MBeanExporter.java:368)
at org.springframework.jmx.export.MBeanExporter.afterPropertiesSet(MBeanExporter.java:312)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:306)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:251)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:220)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:112)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)