Spring Session实现分布式Session管理

Spring Session作为Spring 官方推荐的分布式session解决方案,它提供了一种独立于应用服务器的方案,这种方案能够在Servlet规范之内配置可插拔的session数据存储,不依赖于任何应用服务器的特定API。这就意味着Spring Session能够用于实现了servlet规范的所有应用服务器之中(Tomcat、Jetty、 WebSphere、WebLogic、JBoss等),它能够非常便利地在所有应用服务器中以完全相同的方式进行配置。我们还可以选择任意最适应需求的外部session数据存储,例如Redis、hazelcast、mongodb。

集成Spring Session

1、在pom.xml 中添加 Spring Session 依赖,如下:


            
                org.springframework.session
                spring-session
                1.3.0.RELEASE
            
            
                org.springframework.session
                spring-session-data-redis
                1.3.0.RELEASE
            
            
                org.springframework.data
                spring-data-redis
                1.8.1.RELEASE
            
            
                redis.clients
                jedis
                2.9.0
            

2、在applicationContext.xml中添加如下配置:


    
        
    

    
        
        
        
    

    
    
        
        
        
        
    

    
        
        
        
        
        
        
    

其中,第一个bean org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration 才是spring-session需要用到的,这个bean中又会自动产生多个bean,用于相关操作,极大的简化了我们的配置项。其中有个比较重要的是springSessionRepositoryFilter,它将在下面的web.xml 代理filter中被调用到。

3、web.xml


  
    springSessionRepositoryFilter
    org.springframework.web.filter.DelegatingFilterProxy
  
  
    springSessionRepositoryFilter
    /*
  

到此,Spring Session配置完毕了。

源码下载

spring-session-sample

参考资料

Spring Session

通过Spring Session实现新一代的Session管理

你可能感兴趣的:(Spring Session实现分布式Session管理)