利用shardingsphere-jdbc进行数据库分片的时候,出现了路由表为null的问题,这个错误很恶心,因为我在demo项目里所有操作都正常,将代码一直到正规项目里就是不行。
思考可能是jar包冲突,复制所有jar到测试项目,依然没问题,然后怀疑配置冲突,然后一步步注释,一遍遍重启,终于定位到了shiro,因为多了shiro的配置,所以导致一直报这个错误,把shiro相关配置删掉就好了。
但问题是肯定不能将shiro删除,所以将shiro相关配置移植到demo中,结果出现了这个问题;
没错,循环依赖,当时就蒙了,怎么一个问题还没解决,又出来一个问题呢,此时有点想放弃了,出去上了个厕所,中途,突然想到了,shiro中注入了userservice,而数据源是被shardingsphere配置的,所以应该是这里出现的循环依赖问题。
赶紧回来,注释掉userservice,重启项目,测试添加用户信息,分片正常,接下来,问题定位出来了,剩下的就是解决循环依赖的问题了,这个就简单多了,一个注解搞定@lazy
问题终于解决了,浪费了一天的时间,只能说功夫不负有心人吧,如果不是把项目关键部分拆分出来测试才发现循环依赖的问题,试问,谁能知道最初的报错是因为这个原因引起的呢。。。
shardingsphere分片算法配置不加载出现类似Route table null does not exist的问题
最新推荐文章于 2024-07-01 15:01:11 发布