使用spring-session和redis来代理session的配置

<!-- 这里的是为了下面的 Session策略过滤器提供构造函数传入的参数,因为Session过滤器要依赖该对象来构造,所以创建一个先 -->
<bean name="redisOperationsSessionRepository" class="org.springframework.session.data.redis.RedisOperationsSessionRepository">
<constructor-arg ref="jedisConnectionFactory"></constructor-arg>
</bean>
<!-- 这个是Session策略过滤器,即将容器原有的Session持久化机制,代替为Spring的 Redis持久化Session机制。 -->
<!-- 注意,这个名字与 web.xml里的targetBean的下value是要一致的。 -->
<bean name="springSession" class="org.springframework.session.web.http.SessionRepositoryFilter">
<constructor-arg ref="redisOperationsSessionRepository"></constructor-arg>
</bean>




web.xml需要增加下面配置


<filter>
<filter-name>spring-session</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>springSession</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>spring-session</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>




[size=large][color=red]那么是否可以模仿这样,用shiro的session来代理呢(至于shiro是用redis还是ehcache,不用理会)?[/color][/size], 这样做,是直接屏蔽session的访问,跟shiro的配置一致。 不用在乎是httpSession还是shiro session.


1. 实现 FindByIndexNameSessionRepository, MessageListeneri 接口