Merge branch 'Issue171' of git://github.com/ivowiblo/jedis into ivowiblo-issue171

This commit is contained in:
Jonathan Leibiusky
2012-04-17 18:30:30 -03:00
3 changed files with 30 additions and 4 deletions

View File

@@ -38,6 +38,15 @@ public class JedisPool extends Pool<Jedis> {
super(poolConfig, new JedisFactory(host, port, timeout, password, database)); super(poolConfig, new JedisFactory(host, port, timeout, password, database));
} }
public void returnBrokenResource(final BinaryJedis resource) {
returnBrokenResourceObject(resource);
}
public void returnResource(final BinaryJedis resource) {
returnResourceObject(resource);
}
/** /**
* PoolableObjectFactory custom impl. * PoolableObjectFactory custom impl.
*/ */
@@ -101,6 +110,5 @@ public class JedisPool extends Pool<Jedis> {
return false; return false;
} }
} }
} }
} }

View File

@@ -24,7 +24,7 @@ public abstract class Pool<T> {
} }
} }
public void returnResource(final T resource) { public void returnResourceObject(final Object resource) {
try { try {
internalPool.returnObject(resource); internalPool.returnObject(resource);
} catch (Exception e) { } catch (Exception e) {
@@ -34,6 +34,14 @@ public abstract class Pool<T> {
} }
public void returnBrokenResource(final T resource) { public void returnBrokenResource(final T resource) {
returnBrokenResourceObject(resource);
}
public void returnResource(final T resource) {
returnResourceObject(resource);
}
protected void returnBrokenResourceObject(final Object resource) {
try { try {
internalPool.invalidateObject(resource); internalPool.invalidateObject(resource);
} catch (Exception e) { } catch (Exception e) {

View File

@@ -5,6 +5,7 @@ import org.apache.commons.pool.impl.GenericObjectPool.Config;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import redis.clients.jedis.BinaryJedis;
import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisPoolConfig;
@@ -113,4 +114,13 @@ public class JedisPoolTest extends Assert {
pool1.returnResource(jedis0); pool1.returnResource(jedis0);
pool1.destroy(); pool1.destroy();
} }
@Test
public void returnBinary() {
JedisPool pool = new JedisPool(new JedisPoolConfig(), hnp.host,
hnp.port, 2000);
BinaryJedis jedis = pool.getResource();
pool.returnResource(jedis);
pool.destroy();
}
} }