I have been getting "CarVO object doesn't implment serializable or Externalizable exceptions". Though my CarVO object implements Serializable and has serialVersionUid in it and it has only One member which also implements Serializable and has serialiVersionUid , I am not able to find the root cause of it.
My CarVO object:
public class CarVO implements Serializable {
private static final long serialiVersionUID = 4998908527902625815L;
private Engine engine;
public CarVO(Engine engine){
this.engine = engine;
}
//some public methods
Engine class looks like this :
public class Engine implements Serializable {
// static primitive member variables.
private static final long serialiVersionUID = -2338691637498504101L;
// some more private primitive member variables and public methods.
The engine class is being referred by other VO objects also which are implementing Serializable, but I never faced problem there.
Updating error trace:- (error trace doesn't have any other application related classes other than CarVO object but only from redis and sprinframeworks
java.io.IOException: java.lang.RuntimeException: Class x.y.z.somepackage.CarVO$1 does not implement Serializable or externalizable
org.redisson.RedissonObject.encodeMapValue(RedissonObject.java:330)
org.redisson.RedissonMap.fastPutOperationAsync(RedissonMap.java:935)
org.redisson.RedissonMap.fastPutAsync(RedissonMap.java:926)
org.redisson.RedissonMap.fastPut(RedissonMap.java:940)
org.redisson.tomcat.RedissonSession.fastPut(RedissonSession.java:234)
org.redisson.tomcat.RedissonSession.setAttribute(RedissonSession.java:288)
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1376)
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:137)
org.springframework.web.context.request.ServletRequestAttributes.setAttribute(ServletRequestAttributes.java:183)
org.springframework.web.bind.support.DefaultSessionAttributeStore.storeAttribute(DefaultSessionAttributeStore.java:55)
org.springframework.web.method.annotation.SessionAttributesHandler.lambda$storeAttributes$0(SessionAttributesHandler.java:117)
java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
org.springframework.web.method.annotation.SessionAttributesHandler.storeAttributes(SessionAttributesHandler.java:115)
org.springframework.web.method.annotation.ModelFactory.updateModel(ModelFactory.java:197)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.getModelAndView(RequestMappingHandlerAdapter.java:1004)