blade-gateway引入blade-starter-redis包,发现和其他服务的序列化方式不一致导致报错

Blade 未结 1 327
wollior
wollior 剑圣 2024-01-20 08:57

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

  1. 在gateway服务中引入redis实现时,尝试使用blade-starter-redis包时,要么报错,要么无法解析内容。


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

希望在gateway服务中能够正确获取其他服务设置的value值。请告知如何正确配置引入blade-starter-redis包,以确保序列化格式一致。


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

BladeX 2.6.0.RELEASE,开发环境 mac系统

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

org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Illegal character ((CTRL-CHAR, code 11)): only regular white space (\r, \n, \t) is allowed between tokens

 at [Source: (byte[])"Jabcd"; line: 1, column: 2]; nested exception is com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 11)): only regular white space (\r, \n, \t) is allowed between tokens

 at [Source: (byte[])"Jabcd"; line: 1, column: 2]

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

1条回答
  • 2024-01-23 11:42

    blade-starter-redis引入了spring-web的的依赖,而spring-web与Gateway的web-flux冲突,所以是不能直接引入的。

    在Gateway服务里你可以使用spring原生的redis依赖引入,然后使用RedisTemplate来解析。

    0 讨论(0)
提交回复