Unable to deserialize into session

来源:互联网 发布:淘宝联盟赚钱是真的吗 编辑:程序博客网 时间:2024/06/16 13:19
java.lang.ClassNotFoundException: com.xxx.PersonalUserAccount
SEVERE: Unable to deserialize into session
Jun 14, 2017 12:32:01 PM com.orangefunction.tomcat.redissessions.RedisSessionManager sessionFromSerializedData


        at java.lang.Thread.run(Thread.java:745)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve.invoke(RedisSessionHandlerValve.java:22)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:430)
        at org.apache.catalina.connector.Request.getSessionInternal(Request.java:2636)
        at org.apache.catalina.connector.Request.doGetSession(Request.java:3022)
        at com.orangefunction.tomcat.redissessions.RedisSessionManager.findSession(RedisSessionManager.java:432)
        at com.orangefunction.tomcat.redissessions.RedisSessionManager.sessionFromSerializedData(RedisSessionManager.java:530)
        at com.orangefunction.tomcat.redissessions.JavaSerializer.deserializeInto(JavaSerializer.java:76)
        at com.orangefunction.tomcat.redissessions.RedisSession.readObjectData(RedisSession.java:119)
        at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1074)
        at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1608)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
        at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:151)
        at java.lang.Class.forName(Class.java:278)
        at java.lang.Class.forName0(Native Method)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1701)

        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1858)


问题:这个类我的项目中没有用到,引用的jar中也没有。

解决:这个类是公司中其他项目中的,因为共用了redis,并且域名相同,所以从其他项目跳转过来的时候会带着session,取出来的信息中就有这个类。

           1)可以把这个类带着包名放到当前项目中,仅供避免这个错误。

           2)把session的key添加前缀,以区分不同的项目。


阅读全文
0 0
原创粉丝点击