同一个Tomcat下部署多个web项目,因同时使用druid连接池导致冲突

    科技2025-05-19  4

    目录

    环境说明启动报错错误原因解决方法

    环境说明

    服务器:Tomcat-8.5.31 内置项目:两个Springboot项目,同时引入druid连接池 druid使用方式:druid-spring-boot-starter druid版本号:1.1.10

    启动报错

    Tomcat启动报如下错误:

    nested exception is javax.management.InstanceAlreadyExistsException: com.alibaba.druid.pool:name=dataSource,type=DruidDataSource

    错误原因

    通过对报错信息的解读,大致猜测是两个项目的druid连接池注册了相同的bean,导致bean冲突

    解决方法

    通过在网上搜集资料,找出一下三种解决方法:

    1. 在Tomcat启动参数中加入如下参数: (测试无效)

    -Ddruid.registerToSysProperty=true 升级druid版本**(我的版本已经比教程上的要高了,无效)**在项目的application.properties中加入jmx名称配置: # jmx 默认域,用于区分项目 spring.jmx.default-domain=xxxxxx

    (测试有效)

    Processed: 0.016, SQL: 8