多数据源模式其中一个不正常就启动不起来,怎么调整为除了主数据源链接不上,其他数据源断开不影响项目启动

多数据源模式其中一个不正常就启动不起来,怎么调整为除了主数据源链接不上,其他数据源断开不影响项目启动。

db1 主要数据库

db2 直接往这个数据库里面写数据,少部分功能用到。

db1 db2 不在一起,db2可能不用就关机。

又解决方案吗??

你这样几句话,很难猜到你的问题是什么呢。更别说解决办法了。

我已经描述的够清楚了。。。 说白了 两个数据源 第一个为默认的,现在第二个数据源链接不上项目直接启动不起来。

我想知道数据源2 链接不到的情况下 怎么保证项目能正常运行

够呛啊。你不如在主库里面在新建一个数据,作为临时的“从库”。这样可以启动。

看看是否可以延迟创建第二个dataSource 或者 factoryBean包装下?

1 Like

多数据源容易造成数据库被污染,而且耦合度偏高,这种模式感觉就不太合理。改用消息模式可能合理一点吧。如果非得像你那样处理,那要么就放弃线程池,使用 SimpleDriverSource,DriverManagerDataSource 这种类型,实在不行,你自己搞个DataSource,每次自己获取,自己释放也行,不过事务,释放这些你得管理好,不然容易内存泄漏。

其实从道理上来说,datasource 在初始化的时候是不会链接的,除非是要检验什么,不然即使url是错误的,也应该在运行阶段报错,而不应该在初始化阶段。

1 Like