zoukankan      html  css  js  c++  java
  • tomcat session 共享

    代码层:
    1、web.xml 增加
      <filter>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>springSessionRepositoryFilter</filter-name>
        <url-pattern>/*</url-pattern>
                <dispatcher>REQUEST</dispatcher>
                <dispatcher>ERROR</dispatcher>
      </filter-mapping>
    
    2、porm.xml 增加
            <dependency>
    		   <groupId>org.springframework.session</groupId>
    		   <artifactId>spring-session</artifactId>
    		   <version>1.2.2.RELEASE</version>
    		</dependency>
    
    tomcat:
    3、tomcat目录下的 lib 文件夹增加 redisson-all-3.2.0.jar 和 redisson-tomcat-7-3.2.0.jar 
      (
     redis客户端的wiki https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 https://github.com/redisson/redisson/wiki/14.-%E7%AC%AC%E4%B8%89%E6%96%B9%E6%A1%86%E6%9E%B6%E6%95%B4%E5%90%88#144-tomcat%E4%BC%9A%E8%AF%9D%E7%AE%A1%E7%90%86%E5%99%A8tomcat-session-manager)
      
    4、conf 文件夹下的 context.xml 增加
      <Manager className="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/conf/redis.yaml" />
    
    5、bin 文件夹下的 setenv.sh 增加
       
       arr=${JAVA_OPTS}
       for key in ${arr}
       do
           x="$(echo ${key} | awk -F '=' '{ print $1 "=" $2}')"
           for i in ${x};
           do
               if [[ ${i} == *"Ddisconf"* ]] ;then
                   if [[ ${i} == *"Ddisconf.conf_server"* ]] ;then
                       disconf_server=`echo $i | awk -F '=' '{print $2}'`
                   fi
                   if [[ ${i} == *"Ddisconf.app"* ]] ;then
                       disconf_app=`echo $i | awk -F '=' '{print $2}'`
                   fi
                   if [[ ${i} == *"Ddisconf.version"* ]] ;then
                       disconf_version=`echo $i | awk -F '=' '{print $2}'`
                   fi
                   if [[ ${i} == *"Ddisconf.env"* ]] ;then
                       disconf_env=`echo $i | awk -F '=' '{print $2}'`
                   fi
               fi
           done
       done
       
       echo "准备下载redis.yaml。。。" 
       redisConfig="/usr/local/tomcat8080/conf/redis.yaml"
       echo $redisConfig
       wget  -q "http://disconf.frontpay.cn/api/config/file?version=${disconf_version}&app=${disconf_app}&env=${disconf_env}&key=redis.yaml"   -O "${redisConfig}"
       if [ -f "$redisConfig"  -a -s "$redisConfig" ]; then
           echo "下载redis.yaml完成" 
       else
           echo "${redisConfig} 文件不存在" 
           rm -rf "$redisConfig"
       fi






    redis.yaml 配置

    ---
    clusterServersConfig:
    idleConnectionTimeout: 10000
    pingTimeout: 1000
    connectTimeout: 10000
    timeout: 3000
    retryAttempts: 3
    retryInterval: 1500
    reconnectionTimeout: 3000
    failedAttempts: 3
    password: null
    subscriptionsPerConnection: 5
    clientName: null
    slaveSubscriptionConnectionMinimumIdleSize: 1
    slaveSubscriptionConnectionPoolSize: 50
    slaveConnectionMinimumIdleSize: 10
    slaveConnectionPoolSize: 64
    masterConnectionMinimumIdleSize: 10
    masterConnectionPoolSize: 64
    readMode: "SLAVE"
    nodeAddresses:
    - "redis://10.1.20.159:7000"
    - "redis://10.1.20.159:7001"
    - "redis://10.1.20.159:7002"
    - "redis://10.1.21.2:7001"
    - "redis://10.1.21.2:7002"
    scanInterval: 1000
    threads: 0
    nettyThreads: 0
    useLinuxNativeEpoll: false


  • 相关阅读:
    GUI搞定
    “你说,会有来世吗?”少女露出悲伤的笑容,低声说道,“不管过了多少年,我都会一直在这里等你。如果可以的话,下辈子再和你一起,一起写GUI吧。”
    每个负责写GUI的女孩上辈子都是折翼天使
    更新了XmlParser类
    COCOS2D-X学习笔记(一)-----Node类的学习
    SwipeRefreshLayout的简要说明及使用demo
    Android的图片压缩并上传
    ActionBarSherlock的学习笔记(四) ------------ ActionBarSherlock中的搜索及SearchView的使用
    ActionBarSherlock的学习笔记(三) ------------ ActionBarSherlock中的overflow及item的点击事件
    ActionBarSherlock的学习笔记(二) ------------ 创建ActionBarSherlock
  • 原文地址:https://www.cnblogs.com/error503/p/6518102.html
Copyright © 2011-2022 走看看