一、该问题的重现步骤是什么?
1.给api添加白名单
2. 登录状态访问白名单路径,controller成员注入正常,获取数据一切正常。
3.未登录状态访问白名单路径出现controller实例注入异常,获取数据出现org.springblade.core.tenant.exception.TenantDataSourceException: Incorrect result size: expected 1, actual 0。
二、你期待的结果是什么?实际看到的又是什么?
期待:登录状态和未登录状态下访问白名单api正常,并且查询结果一致。
实际:未登录状态,controller实例出现注入异常。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot版
四、请提供详细的错误堆栈信息,这很重要。
<=== GET: /blade-goods/goods/goodsList (21 ms)
2021-02-03 16:54:30.469 ERROR 7164 --- [ XNIO-1 task-4] o.s.c.l.e.BladeRestExceptionTranslator : 服务器异常
org.springblade.core.tenant.exception.TenantDataSourceException: Incorrect result size: expected 1, actual 0
五、若有更多详细信息,请在下面提供。
1.登录状态下,成员变量注入正常。
2.未登录状态下,成员变量注入异常
异常信息:Method threw 'org.springblade.core.tenant.exception.TenantDataSourceException' exception. Cannot evaluate org.springblade.modules.goods.service.impl.GoodsServiceImpl$$EnhancerBySpringCGLIB$$e0ca0eb1.toString()
看报错你是开启了租户数据库隔离的配置,如果没有用户token,无法获取租户信息,那数据库隔离也就失败了。
另外商业版答疑规则见:https://sns.bladex.cn/article-14990.html
请将账号邮箱修改为下单购买授权的qq邮箱便可咨询商业版疑问
好的,谢谢您,我们公司已购买有商业版。
在多租户配置下,将这个注掉就可以了。至于这个动态数据源有啥用,暂时还未清楚。
#dynamic-datasource: true
#dynamic-datasource: true
这块是多数据源切换的, 改成false不注释也行
扫一扫访问 Blade技术社区 移动端