tomcat-redis-session-manager实现tomcat session共享

本文介绍了如何使用Tomcat Redis Session Manager实现session共享,包括将必需的jar文件放入Tomcat lib目录,配置context.xml,设置nginx反向代理,并解决遇到的jedis版本错误和缺失commons-pool-1.6.jar的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要jar文件 放在tomcat lib目录下

1.jedis-2.1.0.jar
2.commons-pool-1.6.jar
3.commons-pool2-2.2.jar
4.tomcat-redis-session-manager-1.2-tomcat-6-1.2.jar

context.xml 文件添加

<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve"/>
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"
         host="localhost"<!--redis服务器地址-->
         port="6379" <!--redis端口-->
         database="0"
         maxInactiveInterval="60"/><!--过期时间-->

nginx反向代理配置nginx.conf

upstream xy.com  {
             server localhost:8080;
             server localhost:8081;
    }
    log_format  www.xy.com  '$remote_addr - $remote_user [$time_local] $request '
               '"$status" $body_bytes_sent "$http_referer"'
               '"$http_user_agent" "$http_x_forwarded_for"';

    server
    {
          listen  8090;
          server_name  www.xy.com;

          location / {
                    proxy_connect_timeout   3;
                    proxy_send_timeout      30;
                    proxy_read_timeout      30;
                   proxy_pass        http://xy.com;
                   proxy_set_header   Host             $host;
                   proxy_set_header   X-Real-IP        $remote_addr;
                   proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
          }

          access_log  logs/localhost.log  www.xy.com;
    }

实体类放在session中需要实现序列号接口 Serializable

    req.getSession().setAttribute("username", "zyc");
    System.out.println("username:"+"zyc");
    User u = new User("张三",10);
    System.out.println(u);
    req.getSession().setAttribute("u", u);

中间遇到的报错

1)jedis 版本不合适
Caused by: java.lang.VerifyError: Bad type on operand stack in method
2)缺少commons-pool-1.6.jar文件
java.lang.ClassNotFoundException: org.apache.commons.pool.impl.GenericObjectPool$Config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值