未登录状态在controller成员注入异常问题,急急急

Blade 未结 3 1550
yoeaki
yoeaki 剑者 2021-02-03 17:10

一、该问题的重现步骤是什么?

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.登录状态下,成员变量注入正常。image.png

        2.未登录状态下,成员变量注入异常

image.png    

        异常信息:Method threw 'org.springblade.core.tenant.exception.TenantDataSourceException' exception. Cannot evaluate org.springblade.modules.goods.service.impl.GoodsServiceImpl$$EnhancerBySpringCGLIB$$e0ca0eb1.toString()

3条回答
  • 2021-02-03 20:20

    看报错你是开启了租户数据库隔离的配置,如果没有用户token,无法获取租户信息,那数据库隔离也就失败了。

    另外商业版答疑规则见:https://sns.bladex.cn/article-14990.html

    请将账号邮箱修改为下单购买授权的qq邮箱便可咨询商业版疑问


    0 讨论(0)
  • 2021-02-04 09:52

    好的,谢谢您,我们公司已购买有商业版。

    在多租户配置下,将这个注掉就可以了。至于这个动态数据源有啥用,暂时还未清楚。

    #dynamic-datasource: true


    0 讨论(0)
  • 2021-11-08 10:03
    #dynamic-datasource: true

    这块是多数据源切换的, 改成false不注释也行

    0 讨论(0)
提交回复