Merge pull request #540 from xetorthio/closeable-support

Closeable support
This commit is contained in:
Jonathan Leibiusky
2014-02-11 12:35:34 -05:00
5 changed files with 36 additions and 2 deletions

View File

@@ -948,6 +948,12 @@ public class BinaryClient extends Connection {
super.disconnect();
}
@Override
public void close() {
db = 0;
super.close();
}
public void resetState() {
if (isInMulti())
discard();

View File

@@ -2,6 +2,7 @@ package redis.clients.jedis;
import static redis.clients.jedis.Protocol.toByteArray;
import java.io.Closeable;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
@@ -19,7 +20,7 @@ import redis.clients.util.SafeEncoder;
public class BinaryJedis implements BasicCommands, BinaryJedisCommands,
MultiKeyBinaryCommands, AdvancedBinaryJedisCommands,
BinaryScriptingCommands {
BinaryScriptingCommands, Closeable {
protected Client client = null;
public BinaryJedis(final String host) {
@@ -1742,6 +1743,11 @@ public class BinaryJedis implements BasicCommands, BinaryJedisCommands,
return client.getStatusCodeReply();
}
@Override
public void close() {
client.close();
}
/**
* Sort a Set or a List.
* <p>

View File

@@ -1,5 +1,6 @@
package redis.clients.jedis;
import java.io.Closeable;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.Socket;
@@ -15,7 +16,7 @@ import redis.clients.util.RedisInputStream;
import redis.clients.util.RedisOutputStream;
import redis.clients.util.SafeEncoder;
public class Connection {
public class Connection implements Closeable {
private String host;
private int port = Protocol.DEFAULT_PORT;
private Socket socket;
@@ -143,6 +144,11 @@ public class Connection {
}
}
@Override
public void close() {
disconnect();
}
public void disconnect() {
if (isConnected()) {
try {

View File

@@ -41,4 +41,11 @@ public class ConnectionTest extends Assert {
client.setTimeoutInfinite();
}
@Test
public void checkCloseable() {
client.setHost("localhost");
client.setPort(6379);
client.connect();
client.close();
}
}

View File

@@ -8,6 +8,7 @@ import java.util.Map;
import org.junit.Test;
import redis.clients.jedis.BinaryJedis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.Protocol;
@@ -91,4 +92,12 @@ public class JedisTest extends JedisCommandTestBase {
assertEquals("PONG", jedis.ping());
assertEquals("bar", jedis.get("foo"));
}
@Test
public void checkCloseable() {
jedis.close();
BinaryJedis bj = new BinaryJedis("localhost");
bj.connect();
bj.close();
}
}