Ris*_*ran 2 stream jedis spring-data-redis
我有一个从 redis 读取数据的应用程序。我得到以下异常堆栈
org.springframework.data.redis.serializer.SerializationException:无法反序列化;嵌套异常是 org.springframework.core.serializer.support.SerializationFailedException:无法反序列化有效负载。字节数组是 DefaultDeserializer 相应序列化的结果吗?嵌套异常是 java.io.StreamCorruptedException: invalid stream header: 7B226C65 at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:41) ~[spring-data-redis-1.4.2.RELEASE.jar :1.4.2.RELEASE] 在 org.springframework.data.redis.core.AbstractOperations.deserializeHashValue(AbstractOperations.java:296) ~[spring-data-redis-1.4.2.RELEASE.jar:1.4.2.RELEASE]在 org.springframework.data.redis.core.AbstractOperations.deserializeHashMap(AbstractOperations.java: invokeListener(DefaultMessageListenerContainer.java:1150) [spring-jms-4.2.4.RELEASE.jar:4.2.4.RELEASE] 在 org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1142) [spring -jms-4.2.4.RELEASE.jar:4.2.4.RELEASE] 在 org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1039) [spring-jms-4.2.4.RELEASE.jar :4.2.4.RELEASE] 在 java.lang.Thread.run(Thread.java:745) [?:1.8.0_74] 引起:org.springframework.core.serializer.support.SerializationFailedException:无法反序列化有效负载。字节数组是 DefaultDeserializer 相应序列化的结果吗?嵌套异常是 java.io.StreamCorruptedException: invalid stream header:
我也尝试在其他论坛上搜索解决方案,但没有看到任何解决方案。下面是我的代码块
String receivedJSON = (String) redisTemplate.opsForHash().get(redisKey, hashKey);
Run Code Online (Sandbox Code Playgroud)
如果有人找到了任何解决方案甚至遇到了这个问题,请回复。
我得到了一个解决方案。问题是 hashValue 应该使用字符串序列化器进行序列化。将默认序列化程序设置为字符串序列化程序后,我能够找到解决方案并完成我的要求。
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="redisConnectionFactory">
<property name="defaultSerializer" ref="stringSerializer" />
</bean>
<bean id="stringSerializer"
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |