【发布时间】:2024-05-22 22:30:01
【问题描述】:
我们有一个托管在 tomcat 8 中的 java web 应用程序。对于会话管理,我们一直在使用 memcache,它维护基于非粘性会话。这一直运行良好,没有任何问题。
现在需要将 tomcat 从 8 升级到 tomcat 9,并且使用 tomcat 9 所需的 jar 升级已经完成。升级后,我们在应用程序中面临会话变为空的问题。与会话关联的应用程序中的某些链接工作正常,其中一些在单击时让我退出会话。检查日志,我看到会话对象为空。
memcached jar 用作 tomcat 9 的一部分并复制到 tomcat9/lib 下 memcache-session-manager-2.3.2 memcache-session-manager-tc9-2.3.2 抛弃-1.1.jar spymemcached-2.12.0 http-core-4.3 http-core-nio-4.3
我们在这个用例中使用了第 3 方序列化,它们也被复制到了 tomcat lib 文件夹中
kryo-3.0.3.jar kryo-serializers-0.37.jar minlog-1.3.0.jar msm-kryo-serializer-1.9.3.jar objenesis-2.1.jar protobuf-java-2.6.1.jar reflectasm-1.10.1.jar
有了这些 jars ,我就可以毫无问题地看到 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
如果我在配置中遗漏任何内容,请帮助我。
谢谢 普雷迪普
【问题讨论】:
标签: java spring memcached tomcat9