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

Java中的会话超时(使用Spring Boot和Hazelcast)

甘永春
2023-03-14

我有一个用Spring Boot1.5.13构建的java应用程序,我没有设法将会话超时设置为60分钟。我发现Spring将默认的会话超时设置为30分钟。在这个项目上,我们使用:

>

  • HttpSecurity的自定义配置

    protected void configure(HttpSecurity http){

    http.SuccessHandler((httpServletRequest,httpServletResponse,authentication)->{

    和Hazelcast,带有注释

    @EnableHazelCastHttpSession(hazelcastFlushMode=hazelcastFlushMode.immediate,maxInactiveIntervalInSeconds=3600)

    在configuration类上。

  • 共有1个答案

    艾和通
    2023-03-14

    我发现Spring-Session1.3.6(SpringBoot1.5使用)在其HazelcastSessionRepository保存方法中有一个bug。在Hazelcast会话中会注意到更改会话的maxInactiveInterval,但是在Hazelcast IMap中保存Hazelcast会话对象的ttl在创建之后不会更改。当默认的maxInactiveInterval为30分钟时,会话将从IMap中删除,并且会话过期。

    看起来它在SpringBoot2.x中做了修改,但由于我们仍然在1.5上,我对我们使用的版本进行了补丁,现在它可以工作了。

     类似资料:
    • 在 HTTP 协议中,当客户端不再处于活动状态时没有显示的终止信号。这意味着当客户端不再处于活跃状态时可以使用的唯一机制是超时时间。 Servlet 容器定义了默认的会话超时时间,且可以通过 HttpSession 接口的 getMaxInactiveInterval 方法获取。开发人员可以使用HttpSession 接口的 setMaxInactiveInterval 方法改变超时时间。这些方法

    • 问题内容: 有什么方法可以使用Angularjs管理用户会话吗? 会话超时-系统空闲时。 在会话即将到期时发出警报,并带有恢复会话的选项。 如果会话已过期,则在尝试发出请求时重定向(或其他任何操作)。 拦截器可以解决这个问题吗?你能举个例子吗? 提前致谢。 问题答案: 尝试ng-idle。它是一个简单的组件,您可以在其中设置超时和警告时间,直到达到超时。然后,您可以查询服务器上的用户注销或类似内容

    • 问题内容: 我在用户登录时创建会话,如下所示: 如何在X分钟的会话上指定超时,然后在达到X分钟后让它执行功能或页面重定向? 编辑:我忘了提及由于不活动,我需要会话超时。 问题答案: 首先,存储用户最后一次发出请求的时间 在后续请求中,检查他们多久之前提出了请求(在此示例中为10分钟)

    • Chrome93最近发布。大约在这个时候(8月31日下午4点),我们的端到端测试开始失败。这些测试利用量角器,通过TeamCity在安装了Chrome93的Windows构建代理上运行。 我们试图强制一个93. x和一个92. x版本的chrome驱动程序。两者都会在下面产生这个超时。我们可以在本地运行这些e2e测试,没有问题。有什么建议吗?

    • 有什么想法吗?

    • 我有一个问题发生在我坐在空闲的时候,没有接触网络浏览器,vaadin在点击vaadin应用程序中的任何内容之后,就会抛出红色的通信问题错误消息。 我已经通过30分钟不接触浏览器进行了测试。之后,当我单击vaadin应用程序中的一个按钮时,它会抛出通信错误消息。 我有两个应用服务器,它们位于Rackspace的负载均衡器后面。我还启用了“粘性会话”... vaadin可能有自己的超时吗?