Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

redis Pool引入错误 #1688

Closed
liiy opened this issue Jul 28, 2020 · 8 comments
Closed

redis Pool引入错误 #1688

liiy opened this issue Jul 28, 2020 · 8 comments
Milestone

Comments

@liiy
Copy link

liiy commented Jul 28, 2020

简要描述

找不到该类 redis.clients.util.Pool

模块版本情况

  • WxJava 模块名: weixin-java-common
  • WxJava 版本号: 3.8.0

详细描述

JedisWxRedisOps类中引入redis 连接池包路径错误
import redis.clients.util.Pool;
正确路径为
import redis.clients.jedis.util.Pool;

日志

@takatost
Copy link

takatost commented Jul 28, 2020

我也遇到这个问题了,必须引入 jedis:2.1.2 的包才能避免这个报错

@binarywang
Copy link
Owner

请使用最新测试版本

@yodew
Copy link

yodew commented Jul 31, 2020

请使用最新测试版本

最新测试版本是哪个?我weixin-java-mp使用 3.8.7.B还是报这个错

@fengzidk
Copy link

我使用的是spring-boot-starter-data-redis 提供的 StringRedisTemplate,代码如下:
WxRedisOps redisOps = new RedisTemplateWxRedisOps(stringRedisTemplate);
WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisOps, redisKeyPrefix);
启动提示缺少 redis.clients.jedis.JedisPool

  1. spring-boot-starter-data-redis 对应的版本为 2.2.7.RELEASE 使用的 jedis 版本为3.1.0
  2. weixin-java-common 3.8.0 对应的最高 jedis 版本为2.10.2

问题是我不确定jedis引用两个版本会不会有冲突,我也不敢降低 spring-boot-starter-data-redis 使用的jedis版本
嗯,有点小纠结

@fengzidk
Copy link

我使用的是spring-boot-starter-data-redis提供的StringRedisTemplate,代码如下:
WxRedisOps redisOps = new RedisTemplateWxRedisOps(stringRedisTemplate);
WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisOps, redisKeyPrefix);
启动提示该redis.clients.jedis.JedisPool

  1. spring-boot-starter-data-redis对应的版本为2.2.7.RELEASE使用的jedis版本为3.1.0
  2. weixin-java-common 3.8.0对应的最高jedis版本为2.10.2

问题是我不确定jedis引用两个版本会不会有冲突,我也不敢降低spring-boot-starter-data-redis使用的jedis版本
嗯,有点小纠结

其实设计理念完美, 在使用redis存储时,可以提供redis操作对象,或者是jedis连接池,就是实现吧,有点小瑕疵
获取可以考虑,提供RedisTemplateWxRedisOps 让使用者实现,只提供 WxRedisOps 接口?

@yodew
Copy link

yodew commented Jul 31, 2020

我使用的是spring-boot-starter-data-redis提供的StringRedisTemplate,代码如下:
WxRedisOps redisOps = new RedisTemplateWxRedisOps(stringRedisTemplate);
WxMpRedisConfigImpl wxMpRedisConfig = new WxMpRedisConfigImpl(redisOps, redisKeyPrefix);
启动提示该redis.clients.jedis.JedisPool

  1. spring-boot-starter-data-redis对应的版本为2.2.7.RELEASE使用的jedis版本为3.1.0
  2. weixin-java-common 3.8.0对应的最高jedis版本为2.10.2

问题是我不确定jedis引用两个版本会不会有冲突,我也不敢降低spring-boot-starter-data-redis使用的jedis版本
嗯,有点小纠结

其实设计理念完美, 在使用redis存储时,可以提供redis操作对象,或者是jedis连接池,就是实现吧,有点小瑕疵
获取可以考虑,提供RedisTemplateWxRedisOps 让使用者实现,只提供 WxRedisOps 接口?

我的用法跟你一样,原本jedis是3.3.0版本,我降级到2.9.0后jedis包路径就没问题了,目前redis使用没有遇到问题,实际上也没有用到jedis的相关方法,只是不修改的话打包部署会报错

@aimilin6688
Copy link

及因为你用了 jedis 迫不得了件spring boot中的lettuce 替换了,结果3.x 不能用,还要在折腾配置。这块不行就把代码给他去了,弄个demo 谁用自己引入

@binarywang
Copy link
Owner

准备暂时升级jedis依赖版本为3.3.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants