linux ERROR c.a.d.s.DruidDataSourceStatManager - unregister mbean error javax.management.InstanceNo

来源:互联网 发布:淘宝返利网官网 编辑:程序博客网 时间:2024/06/09 23:56
最近一个项目用到alibaba的druid,但第二的时候就报错如下:
2016-07-12 11:17:39,799 52474014 [localhost-startStop-2] ERROR c.a.d.s.DruidDataSourceStatManager - unregister mbean error javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStatat com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:427)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:415)at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:546)at com.alibaba.druid.stat.DruidDataSourceStatManager.removeDataSource(DruidDataSourceStatManager.java:200)at com.alibaba.druid.pool.DruidDataSource$2.run(DruidDataSource.java:1413)at java.security.AccessController.doPrivileged(Native Method)at com.alibaba.druid.pool.DruidDataSource.unregisterMbean(DruidDataSource.java:1409)at com.alibaba.druid.pool.DruidDataSource.close(DruidDataSource.java:1368)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:320)at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:246)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:510)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:486)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:455)at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1090)at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1064)at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:549)at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:745)2016-07-12 11:17:40,767 52474982 [localhost-startStop-2] ERROR c.a.druid.stat.DruidStatService - unregister mbean error javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidStatServiceat com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.exclusiveUnregisterMBean(DefaultMBeanServerInterceptor.java:427)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.unregisterMBean(DefaultMBeanServerInterceptor.java:415)at com.sun.jmx.mbeanserver.JmxMBeanServer.unregisterMBean(JmxMBeanServer.java:546)at com.alibaba.druid.stat.DruidStatService.unregisterMBean(DruidStatService.java:366)at com.alibaba.druid.stat.DruidDataSourceStatManager.removeDataSource(DruidDataSourceStatManager.java:205)at com.alibaba.druid.pool.DruidDataSource$2.run(DruidDataSource.java:1413)at java.security.AccessController.doPrivileged(Native Method)at com.alibaba.druid.pool.DruidDataSource.unregisterMbean(DruidDataSource.java:1409)at com.alibaba.druid.pool.DruidDataSource.close(DruidDataSource.java:1368)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at org.springframework.beans.factory.support.DisposableBeanAdapter.invokeCustomDestroyMethod(DisposableBeanAdapter.java:320)at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:246)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:510)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:486)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:455)at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1090)at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1064)at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1010)at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:549)at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:143)at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5014)at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5659)at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)at org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)at java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)at java.lang.Thread.run(Thread.java:745)

在网上查了很多资料,找到了解决的办法就是在tomcat  bin 下面的 catalina.sh  修改

JAVA_OPTS=”-Ddruid.registerToSysProperty=true”

这样即可,重新启动

造成这个错误的原因,大概是因为在注册MBean时,一定要保证id的唯一。


0 0
原创粉丝点击