序列化失败:

  • 场景:一个JPA实体类Person
  • 业务层使用redis缓存
    一开始没有添加serialVersionUID ,使用默认的,后面改为手动指定,结果就出现序列化失败。这是因为jdk序列化会根据这个UID版本号来做一些细节处理,UID不一样的话,就无法实现反序列化了,并且将会得到InvalidClassException。 将redis中的缓存清除,后再次访问即可。
@Entity
@Table(name = "tb_person")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Person implements Serializable {private static final long serialVersionUID = 1L;@Id@Column(name = "id")private Long id;private String firstname;private String lastname;
}
There was an unexpected error (type=Internal Server Error, status=500).
Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.InvalidClassException: com.example.demo.hello.bean.Person; local class incompatible: stream classdesc serialVersionUID = 6135217848649668701, local class serialVersionUID = 1
org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.InvalidClassException: com.example.demo.hello.bean.Person; local class incompatible: stream classdesc serialVersionUID = 6135217848649668701, local class serialVersionUID = 1at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:84)at org.springframework.data.redis.serializer.DefaultRedisElementReader.read(DefaultRedisElementReader.java:48)at org.springframework.data.redis.serializer.RedisSerializationContext$SerializationPair.read(RedisSerializationContext.java:272)at org.springframework.data.redis.cache.RedisCache.deserializeCacheValue(RedisCache.java:260)at org.springframework.data.redis.cache.RedisCache.lookup(RedisCache.java:94)at org.springframework.cache.support.AbstractValueAdaptingCache.get(AbstractValueAdaptingCache.java:58)at org.springframework.cache.interceptor.AbstractCacheInvoker.doGet(AbstractCacheInvoker.java:73)at org.springframework.cache.interceptor.CacheAspectSupport.findInCaches(CacheAspectSupport.java:571)at org.springframework.cache.interceptor.CacheAspectSupport.findCachedItem(CacheAspectSupport.java:536)at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:402)at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:346)at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)at com.example.demo.hello.service.impl.PersonServiceImpl$$EnhancerBySpringCGLIB$$aa362511.persons(<generated>)at com.example.demo.hello.controller.CacheController.persons(CacheController.java:24)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:748)
Caused by: org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.InvalidClassException: com.example.demo.hello.bean.Person; local class incompatible: stream classdesc serialVersionUID = 6135217848649668701, local class serialVersionUID = 1at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:78)at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:36)at org.springframework.data.redis.serializer.JdkSerializationRedisSerializer.deserialize(JdkSerializationRedisSerializer.java:82)... 66 more
Caused by: java.io.InvalidClassException: com.example.demo.hello.bean.Person; local class incompatible: stream classdesc serialVersionUID = 6135217848649668701, local class serialVersionUID = 1at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699)at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)at org.springframework.core.serializer.DefaultDeserializer.deserialize(DefaultDeserializer.java:72)at org.springframework.core.serializer.support.DeserializingConverter.convert(DeserializingConverter.java:73)... 68 more

local class incompatible: stream classdesc serialVersionUID = 61,local class serialVersionUID = 1相关推荐

  1. local class incompatible: stream classdesc serialVersionUID = 4696092613551164015, local

    错误原文: com.**.***.entity.Wheat; local class incompatible: stream classdesc serialVersionUID = 4696092 ...

  2. local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2427

    记一次报错解决: local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionU ...

  3. java.io.InvalidClassException:CartonPrintVO; local class incompatible: stream classdesc serialVersio

    现象: java.io.InvalidClassException:CartonPrintVO; local class incompatible: stream classdesc serialVe ...

  4. local class incompatible: stream classdesc serialVersionUID = 1502241954359378124, local class seria

    最近在学java基础,IO. 涉及到对象序列化与反序列化.在实现了序列化的类中,我改动了一个属性,加上了前缀transient.报错如标题: 错误原因:启用了磁盘缓存,对象使用了序列化接口,而未给对象 ...

  5. weblogic:local class incompatible: stream classdesc serialVersionUID

    问题:jdk版本不兼容 方法:修改weblogic对应的jdk版本 转载于:https://www.cnblogs.com/davidwang456/p/3431413.html

  6. org.apache.hadoop.hive.metastore.api.SerDeInfo; local class incompatible

    完整報錯如下: org.apache.flink.runtime.JobException: Recovery is suppressed by NoRestartBackoffTimeStrateg ...

  7. 1.Hue 中运行oozie工作流执行spark 报错 local class incompatible

    一.问题 在hue中运行oozie工作流执行spark任务时,报错java.io.InvalidClassException: ; local class incompatible: stream c ...

  8. local class incompatible异常解决

    报错信息 java.io.InvalidClassException: xxx.xxx.xxx.xxx.xxx(类名); local class incompatible: stream classd ...

  9. [2015 Springer] Local Image Descriptor: Modern Approaches——2 Classical Local Descriptors

    转载请注明链接: 有问题请及时联系博主:Alliswell_WP 第一篇链接:https://blog.csdn.net/qq_21685903/article/details/103475243 第 ...

  10. Jmeter 压测试集群配置和问题(win+linux)

    一.安装JDK.Jmeter. 1. 安装JDK可以参考另一篇文章:https://blog.csdn.net/tianyueWindbg/article/details/114292990 2. 安 ...

最新文章

  1. 150亿参数大杀器!Facebook开源机器翻译新模型,同传人员或失业
  2. 静态Web开发 JQuery
  3. 查看java源码时出现class文件而不是java文件,可能是因为java的安装路径下没有src.zip文件而是javafx-src.zip文件
  4. AtCoder-2379 - 连接竹竿 思维 | 数学
  5. 【转】ABP源码分析三十八: ABP.Web.Api.OData
  6. NHibernate的关键点精要
  7. Oracle 复制一条 改主键,在一个表中复制一条同样的记录到同一个表中,只修改主键内容(200分)...
  8. hive/hadoop文件格式,序列化和反序列化
  9. LeetCode 111. Minimum Depth of Binary Tree (二叉树最小的深度)
  10. 时间序列分析导论书摘:自相关图意义分析
  11. mysql游戏调整等级_mysql求游戏排名
  12. 解读升压电路(BOOST)与降压电路(BUCK)
  13. 产品经理需要NPDP证书吗?
  14. C# 选择文件(读取文件时)、选择路径(保存文件时)
  15. SoundPool循环播放
  16. 任强-京东智能云服务平台
  17. TCP协议及三次握手的过程
  18. 本关任务:编写一个Point类,有x、y两个属性。编写一个PointDemo类,并提供一个distance(Point p1,Point p2)方法用于计算两点之间的距离,实例化两个具体的Point对
  19. 怎么看待员工上班迟到扣工资行为?程序员:加班补工资就行
  20. 为什么说虚拟主机是个人站长的最佳选择

热门文章

  1. markdown如何设置图片大小_Markdown 调整图片位置与大小
  2. 缓存数据一致性-解决方案
  3. Linux安装Tab键补全功能
  4. 在财务中python能做什么_Python在财务会计工作中的应用【举例】
  5. 公用计算机不使用键盘鼠标,鼠标键盘同时不能用了怎么回事_电脑的键盘和鼠标不能同时用如何解决...
  6. mac pdf去水印_Inpaint For Mac :超强去水印工具
  7. OpenCV——常用函数
  8. JAVA基于UDP的一个聊天程序
  9. python滑稽代码
  10. CF #595 Div.3 F. Maximum Weight Subset//树形dp