spring-session-redis-nginx-tomcat负载均衡session共享以及session监听配置

 1.前提得搭好基本的SSM框架。有Spring配置文件。

添加一个   spring-redis.xml ,添加完成记得在Sping配置文件中加载这个xml文件及属性文件。

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 5 
 6     <!-- Spring-Session+Redis实现session共享配置如下 -->
 7     <!-- 添加RedisHttpSessionConfiguration用于session共享 -->
 8     <bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration">
 9         <!-- 最大活动间隔秒 -->
10         <property name="maxInactiveIntervalInSeconds" value="10" />
11     </bean>
12 
13     <!-- Redis连接池配置 -->
14     <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
15         <!-- 连接池中最大连接数。高版本:maxTotal,低版本:maxActive -->
16         <property name="maxTotal" value="8" />
17         <!-- 连接池中最大空闲的连接数. -->
18         <property name="maxIdle" value="4" />
19         <!-- 连接池中最少空闲的连接数. -->
20         <property name="minIdle" value="1" />
21         <!-- 当连接池资源耗尽时,调用者最大阻塞的时间,超时将跑出异常。单位,毫秒数;默认为-1.表示永不超时。高版本:maxWaitMillis,低版本:maxWait -->
22         <property name="maxWaitMillis" value="5000" />
23         <!-- 连接空闲的最小时间,达到此值后空闲连接将可能会被移除。负值(-1)表示不移除. -->
24         <property name="minEvictableIdleTimeMillis" value="300000" />
25         <!-- 对于“空闲链接”检测线程而言,每次检测的链接资源的个数。默认为3 -->
26         <property name="numTestsPerEvictionRun" value="3" />
27         <!-- “空闲链接”检测线程,检测的周期,毫秒数。如果为负值,表示不运行“检测线程”。默认为-1. -->
28         <property name="timeBetweenEvictionRunsMillis" value="60000" />
29         <!-- testOnBorrow:向调用者输出“链接”资源时,是否检测是有有效,如果无效则从连接池中移除,并尝试获取继续获取。默认为false。建议保持默认值. -->
30         <!-- testOnReturn:向连接池“归还”链接时,是否检测“链接”对象的有效性。默认为false。建议保持默认值.-->
31         <!-- testWhileIdle:向调用者输出“链接”对象时,是否检测它的空闲超时;默认为false。如果“链接”空闲超时,将会被移除。建议保持默认值. -->
32         <!-- whenExhaustedAction:当“连接池”中active数量达到阀值时,即“链接”资源耗尽时,连接池需要采取的手段, 默认为1(0:抛出异常。1:阻塞,直到有可用链接资源。2:强制创建新的链接资源) -->
33     </bean>
34 
35     <!-- Spring提供的Reids连接工厂 -->
36     <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" destroy-method="destroy">
37         <!-- 连接池配置 -->
38         <property name="poolConfig" ref="jedisPoolConfig" />
39         <!-- Redis服务主机 -->
40         <property name="hostName" value="${redis_hostname}" />
41         <!-- Redis服务端口号 -->
42         <property name="port" value="${redis_port}" />
43         <!-- Redis服务连接密码
44         <property name="password" value="${redis_password}" />-->
45         <!-- 超时设置(毫秒单位) -->
46         <property name="timeout" value="15000" />
47         <!-- 是否使用连接池 -->
48         <property name="usePool" value="true" />
49     </bean>
50 
51 </beans>

 

 

redis.properties

redis_hostname=127.0.0.1
redis_port=6379
#redis_password=

 

 

 

然后Session监听就在Sping配置文件中添加如下Bean其中的SessionListener是自己建的。

1 <!-- 此配置用于Session监听 -->
2     <bean class="org.springframework.session.web.http.SessionEventHttpSessionListenerAdapter">
3         <constructor-arg name="listeners">
4             <bean class="com.zcl.blog.listener.SessionListener" />
5         </constructor-arg>
6     </bean>

 

posted @ 2017-07-17 21:11  鄒成立  阅读(964)  评论(0编辑  收藏  举报