Tomcat使用redis管理session

server.xml

<!-- GlobalNamingResources节点中添加新的Resource节点 -->
    <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
        <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
	    <!-- tomcat session 共享 -->
        <Resource auth="Container" closeMethod="shutdown" 
			    configPath="${catalina.base}/conf/redisson.yaml" 
			    factory="org.redisson.JndiRedissonFactory" 
			    name="bean/redisson"
			    />
    </GlobalNamingResources>

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><!-- The contents of this file will be loaded for each web application --><Context>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
    <!-- 添加以下两个节点 -->
	<ResourceLink name="bean/redisson"
                  global="bean/redisson"
                  type="org.redisson.api.RedissonClient"
                  />
    <Manager className="org.redisson.tomcat.JndiRedissonSessionManager"
             readMode="REDIS"
             jndiName="bean/redisson"
             />
</Context>

在server.xml,context.xml同级目录里面,也就是/tomcat/conf/目录内,添加文件redisson.yaml

其中password,address按照系统配置书写

singleServerConfig:
  idleConnectionTimeout: 10000
  connectTimeout: 10000
  timeout: 3000
  retryAttempts: 3
  retryInterval: 1500
  password: xxxxxx
  subscriptionsPerConnection: 5
  clientName: null
  address: "redis://127.0.0.1:6379"
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  connectionMinimumIdleSize: 24
  connectionPoolSize: 64
  database: 0
  dnsMonitoringInterval: 5000
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.MarshallingCodec> {}
transportMode: "NIO"

 

posted on 2025-09-30 09:56  骑着母猪去打猎  阅读(9)  评论(0)    收藏  举报