之前发过一个求助(见:https://sns.bladex.cn/q-7444.html),当时老大让我去排查一下相关点。当时有点忙,今天继续尝试了下。
我的项目是更换了package的,但是对应的配置也进行了调整。目前依然发现使用Cacheutil方法存储的redis值没有进行序列化。
如果不配置扫描 “org.springblade”则调用CacheUtil进行redis存储是进行了序列化的。
反而增加为 @ComponentScan({"org.springblade","com.zxz"}) 后,调用CacheUtil进行redis存储没有进行序列化。
1.使用BladeRedis存储进行了序列化。依然发现此问题。如果是 @ComponentScan({"org.springblade","com.zxz"}) ,则是明文。如果去掉"org.springblade"则是正确加密了的值。
2.项目没有定义其他的CacheUtil
3.Debug了执行到的CacheManager,但是不清楚如何去分析。截图如下
希望能获取帮助。谢谢
看了你的debug信息 感觉不是cacheManager的问题,所以需要检查你自己的配置
主要检查如图的条件
还有 你还可以配置jdk的序列化方式 看看是否能够正常序列化
因为根据源码,如果截图中的条件不符合 就会使用GenericJackson2JsonRedisSerializer 这个序列化(也就是json方式)
兄弟,blade-tool我没有改过的。你这个截图,我的代码和你是一样的。
主要问题是 componentscan 增加org.springblade这个包就没有正常序列化,去掉扫描这个包就正常序列化。
你到bladex-biz的blade-demo目录下测试看看,blade-demo也是自定义包名加了componentScan,如果你在原生的工程测试完也是同样的问题,请发一个邮件给我们说明一下,然后我们来进行排查,我们的邮箱:bladejava@qq.com
@bluerose 你到bladex-biz的blade-demo目录下测试看看,blade-demo也是自定义包名加了componentScan,如果你在原生的工程测试完也是同样的问题,请发一个邮件给我们说明一下,然后我们来进行排查,我们的邮箱:bladejava@qq.com
扫一扫访问 Blade技术社区 移动端