Uncode-Session集群session共享组件
Uncode-Session
非常小巧的集群session公享组件,代码千行以内,避免使用应用容器插件的多种烦恼。
功能概述
-
非常小巧的集群session共享组件,类似于spring-session。
-
总代码不超过1000行。
-
易于使用和扩展。
配置
1. web.xml
<!-- 会话共享过滤器,注意放在其他filter之前 --> <filter> <filter-name>SessionSharingFilter</filter-name> <filter-class>cn.uncode.session.SessionSharingFilter</filter-class> </filter> <filter-mapping> <filter-name>SessionSharingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
2. 基于Redis的Spring配置
<!-- 配置Redis缓存池(默认基于redis实现,所以只需要配置缓存池就可以了) --> <bean id="redisSentinelPool" class="com.ksudi.proxycache.store.redis.RedisSentinelPool"> <property name="hosts"> <list> <value>127.0.0.1:26379</value> <value>127.0.0.2:26379</value> </list> </property> <property name="auth" value="123456" /> <property name="maxIdle" value="5" /> <property name="maxTotal" value="20" /> <property name="maxWaitMillis" value="10000" /> <property name="testOnBorrow" value="true" /> </bean>
自定义扩展
1. 自定义实现类
public class CustomSessionCache implements SessionCache{ @Override public void put(String sessionId, SessionMap sessionMap, int timeout) { } @Override public SessionMap get(String sessionId) { } @Override public void setMaxInactiveInterval(String sessionId, int interval) { } @Override public void destroy(String sessionId) { } }
2. 配置管理器
<!-- 配置缓存 --> <bean id="customSessionCache" class="cn.uncode.session.*.*.CustomSessionCache" /> <!-- 配置会话缓存管理器 --> <bean id="sessionCacheManager" class="cn.uncode.session.data.SessionCacheManager"> <property name="sessionCache" ref="customSessionCache" /> <!-- 或者使用以下配置,二选一 --> <!-- <property name="beanName" value="sessionCacheManager" /> --> </bean>
评论