zoukankan      html  css  js  c++  java
  • SpringBoot2整合Spring Session

    源码地址:https://github.com/JianLiangHe/springboot-conformity/tree/master/springboot-conformity-session01

    1.Maven依赖

    SpringBoot和Spring Session整合的配置需要引入2个依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis-reactive</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session-data-redis</artifactId>
    </dependency>
    

    2.application.yml

    server:
      port: 8088
    spring:
      # redis配置
      redis:
        # ip地址
        host: 139.196.158.120 
        # 端口
        port: 26379
        # 密码
        password: root
    

      

    3.RedisSessionConfig.java 配置类

    @Configuration
    // maxInactiveIntervalInSeconds 默认是1800秒过期,这里改为60秒
    // RedisFlushMode有两个参数:ON_SAVE(表示在response commit前刷新缓存),IMMEDIATE(表示只要有更新,就刷新缓存)
    // redisNamespace : redis中的key
    @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60, 
    	redisFlushMode = RedisFlushMode.ON_SAVE, 
    	redisNamespace = "springboot-conformity-session01")
    public class RedisSessionConfig {
    
    }
    

      

    4.添加测试Controller:SessionShareController.java

    @Api
    @RestController
    @RequestMapping(value = "/sessionShare/")
    public class SessionShareController {
    
    	@Value("${server.port}")
    	private Integer port;
    	
    	@ApiOperation("set")
    	@RequestMapping(value = "set", method = RequestMethod.POST)
    	public String set(HttpSession session) {
    		session.setAttribute("user", "Jackey");
    		return String.valueOf(port);
    	}
    	
    	@ApiOperation("get")
    	@RequestMapping(value = "get", method = RequestMethod.GET)
    	public String get(HttpSession session) {
    		return "user: " + session.getAttribute("user") + ", port: " + port;
    	}
    	
    }
    

      

    5.测试结果

    1.将项目打成jar包,发布到服务器,过程略,分别使用9090、9091端口启动项目

    nohup java -jar springboot-conformity-session01-0.0.1-SNAPSHOT.jar --server.port=9090 &
    nohup java -jar springboot-conformity-session01-0.0.1-SNAPSHOT.jar --server.prot=9091 &
    

    先访问9090端口的服务set方法(此处我用swagger接口文档访问)

    再用9090和9091端口访问get方法

    9090:

    9091:

    从上面案例看,可以看出session已经实现了共享。

      

  • 相关阅读:
    IBM MQ 学习
    spring中配置监听队列的MQ
    数据库优化(二)
    设计模式
    VBA学习笔记(2)--新建word文档并插入文字
    VBA代码分行
    excel保存时出现“请注意,您的文档的部分内容可能包含了文档检查器无法删除的个人信息”
    Excel VBA 操作 Word(入门篇)
    win10无法使用内置管理员账户打开应用
    五笔字根拆分规则_字根拆分方法
  • 原文地址:https://www.cnblogs.com/hejianliang/p/14149153.html
Copyright © 2011-2022 走看看