我正在开发的应用程序使用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)
}
我已经使所有依赖对象实现了可序列化和所有内容,但我仍然得到“不实现可序列化或可外部化”的异常。我怀疑这是因为“somevoobject”的httpservletrequest也是构造函数中的第一个参数,而httpservletrequest不能序列化。
请告知是否有任何可用的解决方案或任何克服此问题的方法。
暂无答案!
目前还没有任何答案,快来回答吧!