您好,欢迎访问一九零五行业门户网

session冲突怎么解决

解决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 &quot;%r&quot; %s %b" /> </host>
问题解决.
更多相关技术文章,请访问!
其它类似信息

推荐信息