解决session冲突的方法:首先找到“context.xml”文件;然后删除该配置文件;接着对每个项目单独配置session保存名;最后修改“server.xml”文件即可。
session冲突怎么解决?
session冲突问题的解决
错误一:
[containerbackgroundprocessor[standardengine[catalina]]] org.apache.catalina.session.storebase.processexpires session: aedfb48d37a77c31457092995aa26b03;  java.lang.classnotfoundexception: com.yc.bean.user
错误二:
21-jan-2019 20:04:56.528 severe [containerbackgroundprocessor[standardengine[catalina]]] org.apache.catalina.session.storebase.processexpires session: b7f7f7cd26d2661ee08c0ca48865d527;  java.lang.classnotfoundexception: com.yc.vo.listclasspage    at org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1333)    at org.apache.catalina.loader.webappclassloaderbase.loadclass(webappclassloaderbase.java:1167)    at java.lang.class.forname0(native method)    at java.lang.class.forname(class.java:348)    at org.apache.catalina.util.customobjectinputstream.resolveclass(customobjectinputstream.java:74)    at java.io.objectinputstream.readnonproxydesc(objectinputstream.java:1613)    at java.io.objectinputstream.readclassdesc(objectinputstream.java:1518)    at java.io.objectinputstream.readordinaryobject(objectinputstream.java:1774)    at java.io.objectinputstream.readobject0(objectinputstream.java:1351)    at java.io.objectinputstream.readobject(objectinputstream.java:371)    at java.util.arraylist.readobject(arraylist.java:791)    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:497)    at java.io.objectstreamclass.invokereadobject(objectstreamclass.java:1058)    at java.io.objectinputstream.readserialdata(objectinputstream.java:1900)    at java.io.objectinputstream.readordinaryobject(objectinputstream.java:1801)    at java.io.objectinputstream.readobject0(objectinputstream.java:1351)    at java.io.objectinputstream.readobject(objectinputstream.java:371)    at org.apache.catalina.session.standardsession.doreadobject(standardsession.java:1627)    at org.apache.catalina.session.standardsession.readobjectdata(standardsession.java:1090)    at org.apache.catalina.session.filestore.load(filestore.java:268)    at org.apache.catalina.session.storebase.processexpires(storebase.java:154)    at org.apache.catalina.session.persistentmanagerbase.processexpires(persistentmanagerbase.java:440)    at org.apache.catalina.session.managerbase.backgroundprocess(managerbase.java:555)    at org.apache.catalina.core.standardcontext.backgroundprocess(standardcontext.java:5625)    at org.apache.catalina.core.containerbase$containerbackgroundprocessor.processchildren(containerbase.java:1377)    at org.apache.catalina.core.containerbase$containerbackgroundprocessor.processchildren(containerbase.java:1381)    at org.apache.catalina.core.containerbase$containerbackgroundprocessor.processchildren(containerbase.java:1381)    at org.apache.catalina.core.containerbase$containerbackgroundprocessor.run(containerbase.java:1349)    at java.lang.thread.run(thread.java:745)
问题分析:
1. 在同一个tomcat布署了多个项目,且原配置了 context.xml文件:
<manager classname="org.apache.catalina.session.persistentmanager"             saveonrestart="true"                          minidleswap="1200"             maxidleswap="2400"             maxidlebackup="0">             <store classname="org.apache.catalina.session.filestore"  directory="../session" />   </manager>
配置这个文件原来的想法是  将session缓存到磁盘上的    session目录中,
当是一个项目时没有问题。 而当有多个项目安装上来,且这些项目中有些类的包路径及名字完成相同时,这个session就有冲突了。 所以将这个配置去掉。
另外,对每个项目单独配置session保存名 : 修改   server.xml文件, 加入:
<host name="www.hyycinfo.com" appbase="webapps" unpackwars="true" autodeploy="true">                <context path="" docbase="root"  reloadable="false" crosscontext="true" />                <context path="/examination2.0" docbase="/usr/tomcat/tomcat8/webapps/examination2.0" debug="0" reloadable="true" sessioncookiename="examinationsession">                        <manager classname="org.apache.catalina.session.persistentmanager"  saveonrestart="true"  mminidleswap="1200"  maxidleswap="2400"  maxidlebackup="0" >                                <store classname="org.apache.catalina.session.filestore" directory="../examinationsession"/>                        </manager>                </context>                <context path="/paymentsystem" docbase="/usr/tomcat/tomcat8/webapps/paymentsystem" debug="0" reloadable="true" sessioncookiename="paymentsystemsession">                        <manager classname="org.apache.catalina.session.persistentmanager"  saveonrestart="true"  mminidleswap="1200"  maxidleswap="2400"  maxidlebackup="0" >                                <store classname="org.apache.catalina.session.filestore" directory="../paymentsystemsession"/>                        </manager>                </context>                <valve classname="org.apache.catalina.valves.accesslogvalve" directory="logs" prefix="hyycinfo_access_log"                suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />       </host>
问题解决.
更多相关技术文章,请访问!
   
 
   