首页 > 技术文章 > dynamic-datasource多数据源报错url not set

jancy2265 2021-09-26 10:27 原文

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

  1. 发生起因
    在对一个SpringMVC老项目的部分模块进行SpringBoot迁移用于测试时,使用了dynamic-datasource配置多数据源。因为原SpringMVC老项目存在大量的xml配bean,在SpringBoot中手动配置configuration配置类加载这些bean时,有一个初始化的bean在进行init()方法初始化时,对数据库进行查询,然后就出现了本文的错误:无法获取JDBC连接,因为url not setUnable to get JDBC connection,because URL is not set
  2. 寻找解决
    找到一篇文章:https://bbs.csdn.net/topics/398847675?list=60606205 ,在这篇文章中的倒数第二个回答(7.26日的回答)中找到了解决,在原有的xml中存在一个遗留的DriverManagerDataSource的bean注入,将其删除即可:
    <bean id="abstractDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" />
    
  3. 总结
    使用dynamic-datasource配置多数据源时,一定不能有其他的数据源存在,否则就会出现无法获取JDBC连接的情况

推荐阅读