redisTemplate deserialize string cannot convert to Long

Viewed 140
org.springtramework.core.convert.Conversionl-aiLedtxception: failed to convert from type java.Lang.String to type java.Lang.Long to vaLue 1{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":H"}1; nested exception is java.lang.NumberFormatException: For input string: "{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":"
at org.springframework.core.convert.support.Conversionlltils.invokeConverter(ConversionUtils.java:43)
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:203)
at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:187)
at org.springframework.data.redis.serializer.GenericToStringSerializerSConverter.convert(GenericToStringSerializer.java:106)
at org.springframework.data.redis.serializer.GenericToStringSerializer.deserialize(GenericToStringSerializer.java:70)
at org.springframework.data.redis.core.Abstractoperations.deserializeValue(AbstractOperations.java:315)
at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:55)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:204)
at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:166)
at org.springframework.data.redis.core.Abstractoperations.execute(AbstractOperations.java:88)
at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:43)
at com.czb.coupon.jobHandle.impl.JobHandle.getKsRefundRedisVO(JobHandle.java:439)
at com.czb.coupon.jobHandle.impl.JobHandle.refundEvery5Min(JobHandle.java:259)
at sun.reflect.GeneratedMethodAccessor2273.invoke(Unknowr) Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29)
at com.xxl.job.core.thread.JobThread.run(JobThread.java:152)
Caused by: java.lang.NumberFormatException: For input string: "{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":"

I set a json value to this key, but when I get this key by a Object type, it happens a "String cannot convert to Long" problem

This is my code to get this key and my redisTemplate config

Object result = redisService.getTemplate().opsForValue().get(KEY);

@Override
public RedisTemplate<String, Object> getTemplate() {
    return redisTemplate;
}

@Autowired
@Qualifier("redisTemplate")
private RedisTemplate<String, Object> redisTemplate;

The key is set by this way:

redisService.getTemplate().opsForValue().set(KEY,"{\"value1\":\"aaa\"}");
0 Answers
Related