[HttpSession对象在使用tomcat9 + Memcache时在会话之间变为空

问题描述 投票:0回答:1

我们有一个Java Web应用程序托管在tomcat 8中。对于会话管理,我们一直在使用memcache来维护基于非粘性会话。一直没有任何问题。

现在需要将tomcat从8升级到tomcat 9,并且已经完成了对tomcat 9的必要jar的升级。升级后,我们在应用程序中面临一个会话变为空的问题。与会话相关联的应用程序中的某些链接可以正常工作,单击某些链接会使我退出会话。检查日志,我看到会话对象为空。

memcached jar用作tomcat 9的一部分,并复制到tomcat9 / lib下memcache-session-manager-2.3.2memcache-session-manager-tc9-2.3.2jettison-1.1.jarspymemcached-2.12.0http-core-4.3http-core-nio-4.3

我们在此用例中使用第三者序列化,它们也被复制到tomcat lib文件夹中

kryo-3.0.3.jarkryo-serializers-0.37.jarminlog-1.3.0.jarmsm-kryo-serializer-1.9.3.jarobjenesis-2.1.jarprotobuf-java-2.6.1.jarReflectionasm-1.10.1.jar

有了这些罐子,我就能看到tomcat启动了,没有任何问题。

 **<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
        memcachedNodes="n1:ip:port"
        lockingMode="auto"
        sticky="false"
        requestUriIgnorePattern= ".*\.(png|gif|jpg|css|js)$"
        sessionBackupAsync= "false"
        sessionBackupTimeout= "100"
        copyCollectionsForSerialization="false"
        transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"/>**

以下链接用于在我的应用程序中设置内存缓存配置。

https://github.com/magro/memcached-session-manager/wiki/SetupAndConfiguration

如果我在配置中缺少任何内容,请帮助我。

谢谢Pradeep

java spring memcached tomcat9
1个回答
0
投票

已在创建不同的会话时通过从context.xml中删除参数** requesturiignore模式**解决了此问题。

© www.soinside.com 2019 - 2024. All rights reserved.