SpringBoot整合redis连接异常:org.springframework.data.redis.connection.PoolException:

SpringBoot整合redis使用redisTemplate出现异常org.springframework.data.redis.connection.PoolException: Could not get a resource from the pool; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.xxx.xxx.xxx:6379,redis安装在虚拟机中的Linux,尝试了许多帖子的解决方案都没成功,但也记录一下,最后也找到了自己出现异常的地方后成功解决。

1 依赖不兼容:redis7.04版本及springboot框架引用redis框架的lectture-core依赖版本太低出现不兼容问题。解决如下:

这是我springBoot的版本

相对应的lectture-core版本

2 application.yml中有关redis的配置信息如主机名、端口号正确配置

3 Linux中防火墙关闭或redis服务端的端口是开放的,可通过以下命令测试

在防火墙关闭时仍然不能连接端口,参照https://blog.51cto.com/u_11461281/2179025

4 redis配置文件注释掉bind 127.0.0.1以及将protected-mode yes改为no

5 正确指定启动redis的配置文件(我最后的错误),我是在linux中任意目录下使用redis-server /myredis/redis.conf(redis.conf在我机子中的副本)启动redis服务,但redis仍然使用的是原redis.conf文件,而原配置文件没有经过4中的修改,所以无法连接,最后是到myredis目录下启动redis服务端才能连接redis

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.lang.ClassNotFoundException: org.springframework.data.redis.connection.SubscriptionListener是一个Java异常,表示在运行时找不到指定的类。这通常是由于缺少相关的依赖库或配置问题引起的。 解决这个问题的方法有以下几种: 1. 确保依赖库存在:检查项目的依赖配置文件(如pom.xml或build.gradle)中是否包含了正确的spring-data-redis依赖。如果没有添加或者版本不正确,可以手动添加或更新依赖。 2. 检查类路径:确保项目的类路径中包含了所需的类。可以检查项目的构建配置,例如Maven或Gradle的配置文件,确保正确地包含了相关的类路径。 3. 检查包名和类名:确认类的包名和类名是否正确。有时候,类名可能会被错误地拼写或者包名可能会被错误地配置,导致找不到类的异常。 4. 检查版本兼容性:如果项目中使用的是较新的spring-data-redis版本,而你的代码或配置文件中使用的是较旧的类或方法,可能会导致找不到类的异常。确保使用的类和方法与所使用的版本兼容。 5. 检查项目的配置文件:如果项目中使用了配置文件(如application.properties或application.yml),请确保配置文件中的相关配置项正确且完整。 6. 检查项目的部署环境:如果你的项目是部署在服务器上的,确保服务器上已经正确安装了所需的依赖库,并且类路径正确配置。 这些方法中的一种或多种可能会解决java.lang.ClassNotFoundException: org.springframework.data.redis.connection.SubscriptionListener异常。如果问题仍然存在,请提供更多的上下文信息,以便我能够更好地帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值