有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用tomcat9+Memcache时,java HttpSession对象在会话之间变为null

我们有一个java web应用程序,它托管在Tomcat8中。对于会话管理,我们一直使用memcache来维护基于非粘性的会话。这一直运作良好,没有任何问题

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

memcached JAR用作tomcat9的一部分,并在tomcat9/lib下复制 memcache-session-manager-2.3.2 memcache-session-manager-tc9-2.3.2 抛弃-1.1。罐子 SpymeCached-2.12.0 http-core-4.3 http-core-nio-4.3

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

kryo-3.0.3。罐子 kryo-serializers-0.37。罐子 minlog-1.3.0。罐子 msm-kryo-serializer-1.9.3。罐子 objenesis-2.1。罐子 protobuf-java-2.6.1。罐子 反射ASM-1.10.1。jar

有了这些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"/>**

按照下面的链接在我的应用程序中设置memcache配置

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

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

谢谢 普拉迪普


共 (1) 个答案

  1. # 1 楼答案

    已通过从上下文中删除参数**requesturiignore模式**解决了此问题。xml,因为它正在创建不同的会话