当前位置: 首页 > 知识库问答 >
问题:

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

上官砚文
2023-03-14

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

现在需要将tomcat从8升级到Tomcat9,并且使用Tomcat9所需的JAR进行了升级。升级后,我们在应用程序中面临会话变为空的问题。应用程序中与会话相关联的一些链接运行良好,其中一些链接点击后会让我退出会话。检查日志,我看到会话对象为空。

kryo-3.0.3.jar kryo-serializer-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

有了这些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配置。

如果我在配置中缺少了什么,请帮助我。

谢谢普拉迪普

共有1个答案

胡天佑
2023-03-14

通过从context.xml中删除param**RequesturiIgnore模式**解决了这个问题,因为这是在创建不同的会话。

 类似资料:
  • 我找到了ServletContext 但是这个似乎不能提供会话范围的灵活性。

  • 为了将会话保存在数据库中,我在这里使用这个示例实现了Spring会话JDBC。我在使用@Autow的会话范围时遇到问题:我JavaClass如下: 然后我在会话\u范围内注册这个bean,如下所示: 在控制器中,我正在对其进行布线并尝试使用: 当我尝试运行时,出现以下错误:

  • 问题内容: 如果我想使用Web应用程序跟踪与每个客户端的对话状态,那么哪个更好的替代方法是使用Session Bean还是HTTP Session? 使用HTTP会话: 使用会话EJB: 在执行ServletContextListener时注册为Web应用程序侦听器: 在JSP中: 同一JSP正文中的其他地方: 在我看来,它们几乎是相同的,主要区别在于UserState实例是在前者中传输的,而在后

  • 我有一个简单的pojo,其中有一个字段: 现在,我使用两个不同的浏览器窗口(firefox和chrome)作为两个不同的用户登录到我的web应用程序。令我惊讶的是,当我从一个会话设置配额的值(使用)时,新的值将可用于另一个会话(当调用时)。我希望每个用户会话都有自己的bean实例;这不是spring中会话作用域bean的用途吗? 我一定错过了什么。可能是什么? 编辑: 实现类如下所示: 最后,这里

  • 1. 前言 本节课程将和大家一起聊聊 Hibernate 的核心组件之一: Session 对象。 通过本节课程,你将了解到: 创建 Session 对象的 2 个方法; 线程上下文的作用。 2. 创建 Session 对象 Session 是 Hibernate 的重要组件之一,是交给开发者的一把利剑。开发者可使用 Session 对象提供的增、删、改、查(Crud)等方法实现基础的数据操作。

  • 问题内容: 我想在一个应用程序和一个使用的应用程序之间共享服务器会话。我从这个要点中提取了大部分代码。 NodeJs代码: 它输出: PHP代码(我使用redis-session-php和Predis): 它输出: 问题: 我希望两个会话看起来都一样,但是却不一样(应用程序在同一域上运行)。使用from 作品设置值(但这些值不会在会话变量上)。我使用和找到了我认为可以工作的代码,但我认为这会使代码