升级到2.3.0出现DataScopeMode的NullPointerException

Java 未结 1 974
旧爱最美
旧爱最美 剑者 2020-02-11 18:15

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

1. 原代码是Blade Boot,升级到2.3.0时就出现所有页面涉及到selectList查询都报错,升级到2.3.1后问题依旧

2. 所有的文件都升级了,用beyond compare 一个一个比对的,确保无误。包括数据库的每一个版本的升级sql也都执行了。

3. 直接下载2.3.1版本,可以正常运行,所以操作系统环境无问题。


二、你期待的结果是什么?实际看到的又是什么?

期待查询不报错。目前各代码的增删改接口都是正常的,但是无法用列表查询。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

Blade Boot企业版+saber,window7和mac都试了。


四、请提供详细的错误堆栈信息,这很重要。

image.png

image.png


五、若有更多详细信息,请在下面提供。


BladeScopeModeHandler 执行到29行CacheUtil这里就异常跳出,无法执行到第30行

1条回答
  • 2020-02-11 23:52

    看到CacheUtil的88行报空指针image.png

    image.png

    也就是说获取缓存对象的时候就返回空了

    image.png


    尝试把blade-starter-redis整个全部替换成最新版再试试。


    就像你说的,原版的2.3.1你本地跑了没问题,说明你的环境没问题,那也证明了原版的代码一样没问题,所以考虑还是升级的时候有疏忽、遗漏,才导致的这个问题。


    需要从多方面测试getCacheManager、getCache来获取缓存对象,看看哪里操作不对导致没有获取到


    比如redis封装内就有cacheManager的初始化,需要根据错误往下逐步排查

    image.pngimage.png

    0 讨论(0)
提交回复