天天看点

dynamic-datasource多数据源报错url not set

dynamic-datasource多数据源报错url not set

  1. 发生起因

    在对一个SpringMVC老项目的部分模块进行SpringBoot迁移用于测试时,使用了dynamic-datasource配置多数据源。因为原SpringMVC老项目存在大量的xml配bean,在SpringBoot中手动配置configuration配置类加载这些bean时,有一个初始化的bean在进行init()方法初始化时,对数据库进行查询,然后就出现了本文的错误:​

    ​无法获取JDBC连接,因为url not set​

  2. 寻找解决

    在这篇文章中的倒数第二个回答(7.26日的回答)中找的了解决,在原有的xml中存在一个遗留的DriverManagerDataSource的bean注入,将其删除即可:​

    ​<bean id="abstractDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" /> ​

  3. 总结

    使用dynamic-datasource配置多数据源时,一定不能有其他的数据源存在,否则就会出现无法获取JDBC连接的情况