之前一直用的jedis 2.9版本,在使用Jedispool连接池时,每次操作后都要释放连接。
之前一直这么写的“
jedisPool.returnResourceObject(resource);
一直使用的是redis.clients.jedis.JedisPool下面的 returnResourceObject 这个方法,虽然过时,但也还能用。
今天换成了jedis 3.0.1,这个方法直接就没有了。
找了半天,回收资源的方法原来跑到 redis.clients.jedis 里面的close方法了。
之后看了下这个方法,应该也是大同小异。
@Override
public void close() {
if (dataSource != null) {
JedisPoolAbstract pool = this.dataSource;
this.dataSource = null;
if (client.isBroken()) {
pool.returnBrokenResource(this);
} else {
pool.returnResource(this);
}
} else {
super.close();
}
}
总结:还是源码看得少,有时候应该好好看看Jedis。。。。