2.0版本以下设置session超时时间

1.  springboot 2.0版本以下配置session超时

1.1 application.properties配置文件: spring.session.store-type=none

1.2 引入 spring-boot和spring-session 2个依赖包


<!--session管理-->

<dependency>
<groupId>org.springframework.session</groupId>

<artifactId>spring-session</artifactId>

<version>1.3.2.RELEASE</version>

</dependency>

<!--引入配置-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot</artifactId>

<version>1.5.4.RELEASE</version>

</dependency>

1.3在springboot启动类注入以下bean对象

package com.sinosoft.session;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.context.annotation.Bean;
import java.util.concurrent.TimeUnit;
@SpringBootApplication
public class SessionApplication {
public static void main(String[] args) {
SpringApplication.run(SessionApplication.class, args
);
}
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
//设置session超时时间为1分钟
container.setSessionTimeout( 1, TimeUnit.MINUTES);
}
};
}
}

2.添加session管理器和监听器

package com.sinosoft.session.server;

import java.util.HashMap;

import javax.servlet.http.HttpSession;

/**

* Created by lijunming

* on date 2018-09-20

* session管理器

* time 20:01

*/

public class MySessionContext {

private static HashMap mymap = new HashMap();

public static synchronized void AddSession(HttpSession session) {

if (session != null) {

mymap.put(session.getId(), session);

}

}

public static synchronized void DelSession(HttpSession session) {

if (session != null) {

mymap.remove(session.getId());

}

}

public static synchronized HttpSession getSession(String session_id) {

if (session_id == null)

return null;

return (HttpSession) mymap.get(session_id);

}

}

package com.sinosoft.session.server;

import org.springframework.stereotype.Component;

import javax.servlet.http.HttpSession;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

/**

* Created by lijunming

* on date 2018-09-20

* session监听器

* time 20:02

*/

@Component

public class MySessionListener implements HttpSessionListener {

@Override

public void sessionCreated(HttpSessionEvent httpSessionEvent) {

System.out.println("session正在創建");

MySessionContext.AddSession(httpSessionEvent.getSession());

}

@Override

public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {

HttpSession session = httpSessionEvent.getSession();

System.out.println("session注銷中");

MySessionContext.DelSession(session);

}

}

https://blog.csdn.net/ming19951224/article/details/82792401

转载于:https://www.cnblogs.com/yelanggu/p/10318962.html

springboot设置session超时和session监听相关推荐

  1. 客户端连接服务器,配置出错“连接超时”或者“无监听程序”解决方法

    这两天在进行Oracle的客户端配置,服务器OS为Windows XP 64,客户端OS为Win7 64,oracle版本为11.2. 先说下服务器端自己的疑惑,由于自己是新手,很多都不明白是怎么个回 ...

  2. android glide加载webp动画设置播放动画次数和监听动画播放完成

    需求 产品经理说:需要使用一系列的动画,我说没问题啊,用gif图不就好了吗?结果,设计师给了我一系列的webp动图.我能怎么办? 先是百度了一番,找到了一个播放webp动画的glide库,库地址是Gl ...

  3. springboot集成redis,及过期监听

    redis配置 package cn.jianml.redis.config;import cn.jianml.redis.listener.RedisMessageListener; import ...

  4. redis 超时key过期监听

    1.修改redis配置 过期事件通过Redis的订阅与发布功能(pub/sub)来进行分发. 而对超时的监听呢,并不需要自己发布,只有修改配置文件redis.conf中的:notify-keyspac ...

  5. 设置树莓派的无线网卡为监听模式(monitor)

    先使用命令查看无线网卡的名字: ifconfig 结果如下: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1 ...

  6. springboot设置请求超时

    首先超时不只一种,是接口超时,还是restTemplate超时. 接口超时: 别人访问该项目 restTemplate(或httpClient)超时: 该项目请求其他地址 restTemplate超时 ...

  7. echarts 与 百度地图bmap结合系列: 如何设置地图缩放级别和监听缩放事件

    简单的demo: // ehcarts 的实例对象 this.myChart = echarts.init(el)// ehcarts加载完成事件 this.myChart.on('finished' ...

  8. 设置分录行按钮监听事件

    2019独角兽企业重金招聘Python工程师标准>>> public static void addNewLineButtonButtonListener(DetailPanel d ...

  9. android怎么设置按钮点击事件监听,Android点击Button按钮的四种事件监听方法总结...

    首先我们在activity_main.xml里面先定义一个Button空间 好,现在要我们来看点击事件的四种写法: 1.最常见的一种写法--匿名的内部类做为事件监听器类 package com.bas ...

最新文章

  1. laytpl语法_layui语法基础
  2. 字节流代码 java_java代码字符字节流
  3. python yield与递归
  4. Spring Boot中如何干掉过多的if else!
  5. 【Python基础】Python中的高效迭代库itertools,排列组合随便求
  6. Linux常用命令大全--有关磁盘空间的命令
  7. FPGA设计的基础流程
  8. 解决Ubuntu下pycharm无法输入中文的问题
  9. JSP、Servlet中get请求和post请求的区别总结
  10. 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器
  11. URL 和 URI 区别
  12. Zemax操作23--衍射光栅仿真(上)
  13. 什么是数字化的马太效应
  14. 关于微信异常烦人自动生成的聊天记录截图视频
  15. Java核心技术 卷一 - 第 1 章 Java 程序设计概述
  16. 人民币对美元汇率中间价报6.7542元 上调18个基点
  17. 手机设备唤醒计算机,手机微信实现网络唤醒电脑(WOL),远程开机,WakeOnLan – 全栈笔记...
  18. 文本框获取焦点后出现的边框,怎么去掉
  19. 微信公众号自动回复服务器数据,[终极方案]解决微信公众号服务器配置启用后无法自动回...
  20. 统计学练习题——组合,排列组合

热门文章

  1. torch.jit.trace与torch.jit.script的区别
  2. 关于STM32F105/107时钟配置详解
  3. ogg mysql表结构不一致_求助:OGG双向同步,数据不一致如何解决?(已解决)
  4. Axure 中继器表格背景颜色交替不成功
  5. CCNA(十五)思科ACL、NAT配置命令
  6. 视觉SLAM十四讲学习第二部分(ch7-ch14)
  7. 基于Android的手机音乐播放器的设计
  8. Html秒表计时代码,js实现秒表计时器功能代码示例
  9. 华为语音合成服务,为用户提供实时、可替换、多音调的语音播放体验
  10. 如何找出1000以内的“完数“