代码:一段几个月前的老代码
变更: 将fastjson从1.2.57升级到1.2.61
java.lang.NoSuchMethodError: com.alibaba.fastjson.serializer.JavaBeanSerializer.processValue(Lcom/alibaba/fastjson/serializer/JSONSerializer;Lcom/alibaba/fastjson/serializer/BeanContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;Ljava/lang/Integer;
at com.alibaba.fastjson.serializer.ASMSerializer_1_CurrentUserBO.writeNormal(Unknown Source) ~[na:na]
at com.alibaba.fastjson.serializer.ASMSerializer_1_CurrentUserBO.write(Unknown Source) ~[na:na]
at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:285) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:825) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:796) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:789) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:771) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:698) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.JSON.toJSONBytes(JSON.java:687) ~[fastjson-1.2.61.jar:na]
at com.alibaba.fastjson.support.spring.GenericFastJsonRedisSerializer.serialize(GenericFastJsonRedisSerializer.java:24) ~[fastjson-1.2.61.jar:na]
at org.springframework.data.redis.core.AbstractOperations.rawValue(AbstractOperations.java:117) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at org.springframework.data.redis.core.DefaultValueOperations.set(DefaultValueOperations.java:180) ~[spring-data-redis-1.8.12.RELEASE.jar:na]
at com.user.app.cache.impl.UserCacheServiceImpl.cacheCurrentLoginUser(UserCacheServiceImpl.java:48) ~[classes/:na]
at com.user.app.service.impl.LoginServiceImpl.tokenLogin(LoginServiceImpl.java:112) ~[classes/:na]
at com.user.app.service.impl.LoginServiceImpl.mobileLogin(LoginServiceImpl.java:86) ~[classes/:na]
at com.user.app.service.impl.MobileLoginServiceImpl.login(MobileLoginServiceImpl.java:51) ~[classes/:na]
at com.user.app.controller.AppUserController.login(AppUserController.java:130) ~[classes/:na]
at com.user.app.controller.AppUserController$$FastClassBySpringCGLIB$$7dc4b154.invoke(<generated>) ~[classes/:na]
@Override
public void cacheCurrentLoginUser(Integer userId, Integer sourceType, String mobile, Integer invoiceInfoId) {
CurrentUserBO currentUserBO = new CurrentUserBO();
currentUserBO.setMobile(mobile);
currentUserBO.setInvoiceId(invoiceInfoId);
String key = CacheKeyManager.fillKey(CURRENT_USER_KEY, userId, sourceType);
redisTemplate.opsForValue().set(key, currentUserBO, COOKIE_MAX_AGE, TimeUnit.SECONDS); //此行代码报错
}
RedisTemplate中FastJsonRedisSerializer的使用:
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
GenericFastJsonRedisSerializer fastJsonRedisSerializer = new GenericFastJsonRedisSerializer();
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setDefaultSerializer(fastJsonRedisSerializer);//设置默认的Serialize,包含 keySerializer & valueSerializer
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
涉及到的BO:
import lombok.Data;
/**
* @Description:
*/
@Data
public class CurrentUserBO {
/**
* 抬头Id
*/
private Integer invoiceId;
/**
* userId和invoiceId关联的手机号
*/
private String mobile;
}

Duplicate of #2763
同样问题
同样问题
升级到1.2.62时还是会报这个错误呢。
java.lang.NoSuchMethodError: com.alibaba.fastjson.serializer.JavaBeanSerializer.processValue(Lcom/alibaba/fastjson/serializer/JSONSerializer;Lcom/alibaba/fastjson/serializer/BeanContext;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;Ljava/lang/Integer;
at com.alibaba.fastjson.serializer.ASMSerializer_1_GetAvailabilityByFlightRequestBean.writeNormal(Unknown Source) ~[na:na]
at com.alibaba.fastjson.serializer.ASMSerializer_1_GetAvailabilityByFlightRequestBean.write(Unknown Source) ~[na:na]
at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:271) ~[fastjson-1.2.62.jar:na]
at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:44) ~[fastjson-1.2.62.jar:na]
at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:271) ~[fastjson-1.2.62.jar:na]
at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:44) ~[fastjson-1.2.62.jar:na]
at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:285) ~[fastjson-1.2.62.jar:na]
@zhaotingwen 1.2.62还有这个问题.温少让Nameless·Ariston找我修过了。
我这边环境的兼容性问题已修复。
预计什么时候可以修复这个问题
坐等发版
+1
+1
+1
waiting...
在windows下会报这个错,在macOS 和 ubuntu下不会。
升级到1.2.62版本仍然存在这个问题,老的版本不存在这个问题,期待这个问题的解决。
how to solve it.
新版本怎么解决这个问题呢
在windows下会报这个错,在macOS 和 ubuntu下不会。
centos7也不会报错,windows10下确实报错
@13438344431 return to 1.2.58
@Liuliya503288309 退回 1.2.58 ,我这边正常了。
1.2.62 win10报错,求下个版本解决
1.2.58解决。。
v1.2.60也是正常的
@13438344431 return to 1.2.58
@Liuliya503288309 退回 1.2.58 ,我这边正常了。
1.2.58有漏洞哦
1.2.58解决。。
1.2.58有漏洞哦
v1.2.60也是正常的
1.2.60有安全隐患哦
@helloworldtang 只有等作者修复,换jackson代价太大了....
the same question
the same question
the same question
V1.2.60版本好, 但是以上的版本都不行。系统:mac V:10.15, 暂时还不知道在centos是否有问题。但是有的兄弟说这个版本不能在centos系统使用。
mac系统也报错 1.2.62
mac系统也报错 1.2.62,看到有说win10,mac操作系统版本不同还报错的,好神奇
same behaviour
win10系统1.2.62有问题,请问修复了没有
java.lang.NoSuchMethodError: com.alibaba.fastjson.serializer.JavaBeanSerializer.processValue
how to solve
how to solve
Win10 still has problems
同样的问题,win10出问题
mark一下,等待修复
马一下,等待修复
先降版本吧
1.2.62,Mac系统,还是这个问题,求修复
诺诺的问一句,还没有修复么?
诺诺的问一句,还没有修复么?
我升到1.2.66 没报这个错了
我升到1.2.66 也没报这个错了
Mac 10.15.3
So???要升级到1.2.66才行咯??
Most helpful comment
升级到1.2.62版本仍然存在这个问题,老的版本不存在这个问题,期待这个问题的解决。