最近碰到一个环境配置上的问题, 折腾了半天时间, 特拿出来和大家分享.
系统抛出的错误如下:
unregister mbean error javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidStatService
Java项目中使用druid对数据库连接池进行管理
在pom.xml 中有如下配置:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.6</version>
</dependency>
在本地及测试环境均无问题,但是上了centos环境后,每当tomcat第一次启动时,日志未报错,但是页面总是出不来,在关闭tomcat时,看日志,发现报错如下:
[ERROR]-[Thread: localhost-startStop-1]-[com.alibaba.druid.stat.DruidStatService.unregisterMBean()]: unregistermbeanerrorjavax.management.InstanceNotFoundException:com.alibaba.druid:type=DruidStatService atcom.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(DefaultMBeanServerInterceptor.java:1095)
经过多次测试,最终解决方案如下:
修改tomcat的bin目录下的catalina.sh文件,在# OS specific support. $var_must_ be set to either true or false.与cygwin=false之间加上
JAVA_OPTS="-Ddruid.registerToSysProperty=true"即可
保存退出后,tomcat部署项目启动一次就好,不再报此错。
类似的Tomat报错异常:
ERROR [com.alibaba.druid.stat.DruidDataSourceStatManager] – unregistermbeanerrorjavax.management.InstanceNotFoundException:com.alibaba.druid:type=DruidDataSourceStatatcom.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean………
原因:在一台服务器上启动了两个tomcat,两个tomcat都是用druid。
解决方案:
修改Tomcat 下的 catalina.sh:
增加此句代码:JAVA_OPTS=”-Ddruid.registerToSysProperty=true”
希望以上信息能帮助到你, 欢迎收藏并关注.
总结:
测试是一门技术, 更是一门艺术. 也许你今天拥有的技术, 明天就会被淘汰. 同时需要我们开拓思维和眼界, 积极拥抱变化, 学习新知识, 新方法,新技能, 计算机领域讲究的是实践, 学习更要讲究方式方法. 学习和动手一定要结合, 光看不练,犹如看武功秘籍, 是永远成不了武功大侠的.
关注我们获得更多精彩内容!