Приложение, над которым я работаю, использует Redis, и насколько я знаю, Redis пытается сериализовать все объекты, которые хранятся в сеансе. У меня есть строка ниже в моем коде, которая беспокоит меня: -
httpServletRequest.getSession.setAttribute(some_key, someObjectFactory.someMethod(httpServletRequest);
Я получаю исключение ниже, которое выбрасывается из вышеуказанной строки кода.
ava.io.IOException: java.lang.RuntimeException: Class org.springframework.security.web.servletapi.HttpServlet3RequestFactory$Servlet3SecurityContextHolderAwareRequestWrapper does not implement Serializable or externalizable
" Класс SomeObjectFactory "выглядит следующим образом, после того, как я сделал его для реализации Serializable
@Componend
public class SomeObjectFactory implements Serializable {
//ssvuid declaration
private Object1 object1;
private Object2 object2;
@Autowired
public SomeObjectFactory(Object1 object1, Object2 object2) {
this.object1 = object1;
this.object2 = object2;
}
public SomeVOObject someMethod(HttpServletRequest request){
return new SomeVOObject(request , new SomeObjectMapper(object1, object2)
}
Я сделал все зависимые объекты реализующими Serializable, и все, но я все еще получаю" не реализует Serializable или externalizable "исключение. Я сомневаюсь, что это связано с тем, что SomeVOObject имеет httpServletRequest также в качестве первого аргумента в конструкторе, а httpServletRequest не может быть сериализован.
Пожалуйста, сообщите, если какое-либо решение уже доступно или какой-либо подход для преодоления этого.