Merge pull request #540 from xetorthio/closeable-support
Closeable support
This commit is contained in:
@@ -948,6 +948,12 @@ public class BinaryClient extends Connection {
|
|||||||
super.disconnect();
|
super.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
db = 0;
|
||||||
|
super.close();
|
||||||
|
}
|
||||||
|
|
||||||
public void resetState() {
|
public void resetState() {
|
||||||
if (isInMulti())
|
if (isInMulti())
|
||||||
discard();
|
discard();
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package redis.clients.jedis;
|
|||||||
|
|
||||||
import static redis.clients.jedis.Protocol.toByteArray;
|
import static redis.clients.jedis.Protocol.toByteArray;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -19,7 +20,7 @@ import redis.clients.util.SafeEncoder;
|
|||||||
|
|
||||||
public class BinaryJedis implements BasicCommands, BinaryJedisCommands,
|
public class BinaryJedis implements BasicCommands, BinaryJedisCommands,
|
||||||
MultiKeyBinaryCommands, AdvancedBinaryJedisCommands,
|
MultiKeyBinaryCommands, AdvancedBinaryJedisCommands,
|
||||||
BinaryScriptingCommands {
|
BinaryScriptingCommands, Closeable {
|
||||||
protected Client client = null;
|
protected Client client = null;
|
||||||
|
|
||||||
public BinaryJedis(final String host) {
|
public BinaryJedis(final String host) {
|
||||||
@@ -1742,6 +1743,11 @@ public class BinaryJedis implements BasicCommands, BinaryJedisCommands,
|
|||||||
return client.getStatusCodeReply();
|
return client.getStatusCodeReply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
client.close();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort a Set or a List.
|
* Sort a Set or a List.
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package redis.clients.jedis;
|
package redis.clients.jedis;
|
||||||
|
|
||||||
|
import java.io.Closeable;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
@@ -15,7 +16,7 @@ import redis.clients.util.RedisInputStream;
|
|||||||
import redis.clients.util.RedisOutputStream;
|
import redis.clients.util.RedisOutputStream;
|
||||||
import redis.clients.util.SafeEncoder;
|
import redis.clients.util.SafeEncoder;
|
||||||
|
|
||||||
public class Connection {
|
public class Connection implements Closeable {
|
||||||
private String host;
|
private String host;
|
||||||
private int port = Protocol.DEFAULT_PORT;
|
private int port = Protocol.DEFAULT_PORT;
|
||||||
private Socket socket;
|
private Socket socket;
|
||||||
@@ -143,6 +144,11 @@ public class Connection {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void close() {
|
||||||
|
disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
public void disconnect() {
|
public void disconnect() {
|
||||||
if (isConnected()) {
|
if (isConnected()) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -41,4 +41,11 @@ public class ConnectionTest extends Assert {
|
|||||||
client.setTimeoutInfinite();
|
client.setTimeoutInfinite();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void checkCloseable() {
|
||||||
|
client.setHost("localhost");
|
||||||
|
client.setPort(6379);
|
||||||
|
client.connect();
|
||||||
|
client.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
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.JedisShardInfo;
|
import redis.clients.jedis.JedisShardInfo;
|
||||||
import redis.clients.jedis.Protocol;
|
import redis.clients.jedis.Protocol;
|
||||||
@@ -91,4 +92,12 @@ public class JedisTest extends JedisCommandTestBase {
|
|||||||
assertEquals("PONG", jedis.ping());
|
assertEquals("PONG", jedis.ping());
|
||||||
assertEquals("bar", jedis.get("foo"));
|
assertEquals("bar", jedis.get("foo"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void checkCloseable() {
|
||||||
|
jedis.close();
|
||||||
|
BinaryJedis bj = new BinaryJedis("localhost");
|
||||||
|
bj.connect();
|
||||||
|
bj.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user