jedis包括2.4.1,2.5.1等高版本的
JedisPoolConfig没有
maxActive属性,不能按照网上那些方式去配置redis了,网上大部分搜索出来的redis配置都是基于旧版本的jedis,在jedis新版本,JedisPoolConfig没有maxActive属性,JedisPoolConfig没有maxWait属性,以及被替换成其他的命名。
下面是网上的转载,转载之后是
jedis高版本JedisPoolConfig没有maxActive,
maxWait的解决方法。
“
使用spring提供的jedis template类感觉操作挺不爽的,至于模板其它优点暂不想去升级,准备直接使用jedis api操作。
下面是网上随处可见的一段代码。
1
2
3
4
5
6
7
8
9
10
11
12
|
JedisPoolConfig
config = new
JedisPoolConfig();
config.setMaxActive(Integer.valueOf(bundle
.getString( "redis.pool.maxActive" )));
config.setMaxIdle(Integer.valueOf(bundle
.getString( "redis.pool.maxIdle" )));
config.setMaxWait(Long.valueOf(bundle.getString( "redis.pool.maxWait" )));
config.setTestOnBorrow(Boolean.valueOf(bundle
.getString( "redis.pool.testOnBorrow" )));
config.setTestOnReturn(Boolean.valueOf(bundle
.getString( "redis.pool.testOnReturn" )));
pool
= new
JedisPool(config, bundle.getString( "redis.ip1" ),
Integer.valueOf(bundle.getString( "redis.port" )));
|
构造连接池配置文件,但是让我十分蛋疼的就是,setMaxActive提示没这个方法,查看源码JedisPoolConfig继承至GenericObjectPoolConfig,其父类中确实也没有MaxActive这个属性,WHY?难道网上疯传的都是以讹传讹?暂时不去想这个可能性不大的问题,看了下GenericObjectPoolConfig类所在的jar包,org.apache.commons.pool2.impl.GenericObjectPoolConfig,apache提供的xx池,当然平时用的多的是另一个包,我首先就猜测是不是有同名的类文件,Ctrl+T,果然有,继续看,还真存在MaxActive属性,WHY?难道是JedisPoolConfig继承错了,果断自己重载此类,然而JedisPool构造函数有出错,提示必须是org.apache.commons.pool2.impl.GenericObjectPoolConfig的实例,抓狂了叫喊,各种纠结,最后没辙,只能从开源仓库中下载一个个不同版本的jar,找到jedis-2.2.0时,眼前一亮,靠,JedisPoolConfig继承的就是我们熟悉的org.apache.commons.pool.impl.GenericObjectPool.Config。
jedis的大神们做扩展时,能不能考虑下代码的兼容性。。。。
”
通过这个链接,我们知道commons-pool2 的maxactive,maxWait已经更改命名。
http://mail-archives.apache.org/mod_mbox/tomcat-dev/201403.mbox/<20140305154712.6B9E123889E2@eris.apache.org>
dbcp的修改日志显示:change "maxActive" -> "
maxTotal" and "maxWait" -> "
maxWaitMillis" in all examples.
所以
高版本jedis配置JedisPoolConfig的maxActive,maxWait应该为:
1
2
3
4
5
6
7
|
< bean
id = "jedisPoolConfig"
class = "redis.clients.jedis.JedisPoolConfig" >
< property
name = "maxIdle"
value = "${redis.pool.maxIdle}"
/>
< property
name = "maxTotal"
value = "${redis.pool.maxActive}"
/>
< property
name = "maxWaitMillis"
value = "${redis.pool.maxWait}"
/>
< property
name = "testOnBorrow"
value = "${redis.pool.testOnBorrow}"
/>
< property
name = "testOnReturn"
value = "${redis.pool.testOnReturn}"
/>
</ bean >
|
文摘标签:jedis高版本,JedisPoolConfig,maxActive属性,maxWait,配置maxActive,maxTotal,maxWaitMillis
分享到:
相关推荐
jedis-2.4.1.jar包,使用maven项目下载的
jedis-2.4.1.jar、redis.clients-3.0.1.jar、jedis-3.0.0.jar 全量包,可用!
包含翻译后的API文档:jedis-2.5.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:redis.clients:jedis:2.5.1; 标签:redis、clients、jedis、中英对照文档、jar包、java; 使用方法:解压翻译后的API...
包含翻译后的API文档:jedis-2.5.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:redis.clients:jedis:2.5.1; 标签:redis、clients、jedis、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器...
Jedis 是 Redis 官方首选的 Java 客户端开发包。 实例方法: ? 1 import redis.clients.jedis.* ? 1 2 3 Jedis jedis = new Jedis("localhost"); jedis.set("foo", "bar"); String value = jedis.get("foo"); 支持...
Redis Windows32位+64位安装包,Linux压缩包, Redis图形操作管理软件,Jedis
# 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【***.jar Maven依赖信息(可用于项目pom.xml)....
自己根据官方的doc.jar包制作的chm文档,jedis2.0版本的,2.1的暂时没有看到。
jedis不同版本的架包,包括2.1.0,2.6.1,2.7.2着三个版本的架包
此资源为Java连接redis的工具jar,Jedis 版本为2.62; 有两个地方需要注意下;jedis 3.0新版本废弃了旧回收资源方法; 废弃方法为:JedisPool.returnResource(Jedis);回收资源 Jedis 3.0版本新回收资源: Jedis.close();...
jedis-2.9.0.jar jedis-2.9.0-javadoc.jar jedis-2.9.0-sources.jar
Jedis-java最新jar包
jedis-2.4.2版本.rar
jedis-2.4.1.jar会使用到这个jar包
jedis-2.4.1.jar commons-pool2-2.3.jar
redis-jedis-2.4.1_lock.zip redis锁
jedis-2.4.2版本及其依赖的jar包,java操作redis必备
jedis jar包; 版本:2.0 2.1
spring-data-redis-2.1.5.RELEASE和jedis2.9.0,用于java使用redis开发。
jedis-2.9.0 jar 包,不包含源码,源码下载地址: http://download.csdn.net/download/tan3739/9993938 测试代码: 导入依赖包: commons-lang-2.5.jar commons-pool2-2.4.2.jar jedis-2.9.0 jar public static ...