在Tomcat服务器中使用Redis服务器部署Spring Boot应用程序时出错

问题描述 投票:-1回答:1

我有一个基于Spring boot(2.1.9.RELEASE)的Web应用程序,并且使用Redis服务器(Redis-x64-3.2.100作为服务运行)用于会话属性存储

随着Spring Boot App顺利进行,在[[Eclipse中的部署,该应用程序可以连接到Redis服务器,并且我们可以存储/检索Session属性

但是当我想在

Tomcat

(版本9)中进行部署时,我遇到了与springframework中的redis api相关的问题:Caused by: java.lang.NoSuchMethodError: org.springframework.data.redis.connection.RedisConnection.getConfig(Ljava/lang/String;)Ljava/util/List;
鉴于我已经在Tomcat服务器中的context.xml中设置了所有必需的配置:

<ResourceLink name="bean/redisson" global="bean/redisson" type="org.redisson.api.RedissonClient" /> <Manager className="org.redisson.tomcat.JndiRedissonSessionManager" readMode="REDIS" jndiName="bean/redisson" /> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <Manager className="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/conf/redisson.yaml" readMode="REDIS" updateMode="DEFAULT" broadcastSessionEvents="false"/>

更改server.xml:

<Resource name="bean/redisson" auth="Container" factory="org.redisson.JndiRedissonFactory" configPath="${catalina.base}/conf/redisson.yaml" closeMethod="shutdown"/>

redisson.yaml包含:

singleServerConfig: idleConnectionTimeout: 10000 connectTimeout: 10000 timeout: 3000 retryAttempts: 3 retryInterval: 1500 password: null 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.FstCodec> {} transportMode: "NIO"

并且我将redisson-all-3.11.6.jar和redisson-tomcat-9-3.11.6.jar放在Tomcat lib文件夹中

关于redis与Tomcat的兼容性问题吗?我错过了什么 ?感谢您的提前帮助。

spring-boot redis tomcat9
1个回答
0
投票
明确指出错误:
© www.soinside.com 2019 - 2024. All rights reserved.