My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members

解决集群环境下java web容器session共享,使用filter拦截器和memcached实现。在tomcat 6和websphere 8测试通过,现网并发2000,日PV量1100万。 暂不支持session event包括create destory 和 attribute change

#使用指南.

配置web.xml 过滤器

<filter>
        <filter-name>springFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetBeanName</param-name>
            <param-value>memcachedSessionFilter</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>springFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在spring中配置memcached filter

 <bean name="memcachedClient" class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean"
              destroy-method="shutdown">
            <property name="servers" value="${memcached.servers}"/>
            <property name="weights">
                <list>
                    <value>1</value>
                    <value>1</value>
                    <value>1</value>
                    <value>1</value>
                </list>
            </property>
            <property name="connectionPoolSize" value="2"/>
            <property name="commandFactory">
                <bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory"/>
            </property>
            <!-- 客户端分布策略(一致性哈希算法),Distributed strategy -->
            <property name="sessionLocator">
                <bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"/>
            </property>
            <property name="opTimeout" value="2000"/>
        </bean>
    
   <bean id="memcachedSessionManager" class="com.emagsoftware.web.session.MemcachedSessionManager">
          <property name="memcachedClient" ref="memcachedClient" />
   </bean>
    
    <bean id="memcachedSessionFilter" class="com.emagsoftware.web.session.MemcachedSessionFilter">
       <property name="sessionManager" ref="memcachedSessionManager"/>
    </bean>
Powered by Google Project Hosting