Uncode-Session使用文檔

2018-11-23 18:18 更新

非常小巧的集群session共享組件,代碼千行以內(nèi),避免使用應(yīng)用容器插件的多種煩惱。

功能概述

  1. 非常小巧的集群session公享組件,類似于spring-session。
  2. 總代碼不超過1000行。
  3. 易于使用和擴(kuò)展。

配置

1. web.xml

<!-- 會(huì)話共享過濾器,注意放在其他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緩存池(默認(rèn)基于redis實(shí)現(xiàn),所以只需要配置緩存池就可以了) -->

<bean id="redisSentinelPool" class="cn.uncode.session.data.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>

<bean id="sessionCache" class="cn.uncode.session.data.redis.RedisSessionCache">
    <property name="cachePool" ref="redisSentinelPool" />
</bean>

3. 基于Memcached的Spring配置

<bean id="memcachedPool" class="cn.uncode.session.data.memcached.MemcachedPool">
    <property name="hosts">
        <list>
            <value>127.0.0.1:11211</value>
        </list>
    </property>
</bean>

<bean id="sessionCache" class="cn.uncode.session.data.memcached.MemcachedSessionCache">
        <property name="cachePool" ref="memcachedPool" />
</bean>

4. 配置會(huì)話緩存管理器

<bean id="sessionCacheManager" class="cn.uncode.session.data.SessionCacheManager">
    <property name="sessionCache" ref="sessionCache" />
</bean>

自定義擴(kuò)展

1. 自定義實(shí)現(xiàn)類

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" />

<!-- 配置會(huì)話緩存管理器 -->
<bean id="sessionCacheManager" class="cn.uncode.session.data.SessionCacheManager">
    <property name="sessionCache" ref="customSessionCache" />
    <!-- 或者使用以下配置,二選一 -->
    <!--
    <property name="beanName" value="customSessionCache" />
    -->
</bean>

版權(quán)

作者:冶衛(wèi)軍(ywj_316@qq.com,微信:yeweijun)

技術(shù)支持QQ群:47306892

Copyright 2016 www.uncode.cn

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)