ToB企服应用市场:ToB评测及商务社交产业平台

标题: SpringBoot 解决 getSession().getAttribute() 在负载均衡环境下无法获取se [打印本页]

作者: 欢乐狗    时间: 2024-7-18 13:37
标题: SpringBoot 解决 getSession().getAttribute() 在负载均衡环境下无法获取se
在Spring Boot中,使用getSession().getAttribute()方法时遇到在负载均衡环境下无法精确获取session属性的问题,通常是由于session属性存储在单个服务器的内存中,而负载均衡会导致用户的哀求被分配到差别的服务器上,因此无法找到在其他服务器上未界说的session属性。
解决方法:


以下是使用Spring Session与Redis的示例配置:
pom.xml中添加依赖:

  1. <dependency>
  2.     <groupId>org.springframework.session</groupId>
  3.     <artifactId>spring-session-data-redis</artifactId>
  4. </dependency>
  5. <dependency>
  6.     <groupId>redis.clients</groupId>
  7.     <artifactId>jedis</artifactId>
  8. </dependency>
复制代码
application.properties中配置Redis:

  1. spring.redis.host=localhost
  2. spring.redis.port=6379
  3. spring.session.store-type=redis
复制代码
启用Spring Session:

添加@EnableRedisHttpSession
  1. import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
  2. @EnableRedisHttpSession
  3. @SpringBootApplication
  4. public class MyApp {
  5.     public static void main(String[] args) {
  6.         SpringApplication.run(MyApp.class, args);
  7.     }
  8. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4