New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dynamic-datasource多库配置,一个库连不上,整个程序都会终止运行,这个问题要如何避免? #311
Comments
暂时无法配置,很难处理。 你可以看源码尝试修改试试。 |
@Hu-J-H 项目启动的时候参数配置有错误无法启动是很正常的。 你也可以项目只配置一个主数据源,然后通过高级里的动态加载再项目启动完成后再动态的去增加。 |
@huayanYu 您好!感谢回复!
不知道 dynamic-datasource模块 为何把这个规则改了?是基于什么样的考虑么? |
@Hu-J-H 不是我改了,是现在代码没法支持。看源码的provider,先生成的数据源,再去分类。 如果改动对已经使用的人改动太大。 配置是一次性的,错了改正不就可以么? |
@huayanYu 您好!配置基本是一次性的没错,但如果数据库连不上,就会启动报错的话,那么可能会造成程序在本地无法打包。或者即便能打包也会要绕弯子变通,有些麻烦。 |
@Hu-J-H 现在的结论是:在不大范围变更代码的前提下无法解决, 只有自己注意配置。 你的需求可能满足了,别人的需求就不一定满足了。 比如会有人说明明启动阶段就能校验的,非要运行了你给我报错或者给我切到了默认库,数据混乱了。 我排查半天才发现有一个数据源没设置进去。 没有特别强力的理由支持我改动整体设计, 建议自行检查配置。 |
@huayanYu 大佬好!确实存在萝卜白菜各有所爱的情况,其实在配置里面留个开关就可以了。 |
@huayanYu 我看了知乎上的一个回答,似乎并不需要大范围修改代码,给这里的try后面加个catch就可以了 |
其实,如果要说理由的话,原生mybatis 的默认规则没有启动校验,也可以算是个理由啦。 |
baomidou团队推出dynamic-datasource模块,用来配置多数据库源还是十分方便的 —— 不用写繁琐的Config Bean,直接在dao类里打@ds注解就可以了。
但我最近发现一个问题:当你所配置的多个数据源里面,只要有1个数据源无法访问,整个程序在启动时就会报错终止,不再运行。
虽然这个问题发生的情况不算多,但还是有可能会遇到,因此我希望能够避免。
换言之:我希望当某个数据源连不上时,仅影响该数据源本身,而不是终止整个程序。 让其他能够正常连接的数据源依然能够正常运作。
这个要如何配置呢?或者有什么改进方案没?
https://www.zhihu.com/question/395982380
The text was updated successfully, but these errors were encountered: