From beb999d50a0a2f6818c7d2a4e697073b979a49ad Mon Sep 17 00:00:00 2001 From: Jonathan Leibiusky Date: Thu, 2 Aug 2012 16:57:14 -0300 Subject: [PATCH] when setting timeout infinite, make sure it is connected first --- src/main/java/redis/clients/jedis/Connection.java | 3 +++ .../java/redis/clients/jedis/tests/ConnectionTest.java | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/redis/clients/jedis/Connection.java b/src/main/java/redis/clients/jedis/Connection.java index 37e43e2..1c42b94 100644 --- a/src/main/java/redis/clients/jedis/Connection.java +++ b/src/main/java/redis/clients/jedis/Connection.java @@ -38,6 +38,9 @@ public class Connection { public void setTimeoutInfinite() { try { + if(!isConnected()) { + connect(); + } socket.setKeepAlive(true); socket.setSoTimeout(0); } catch (SocketException ex) { diff --git a/src/test/java/redis/clients/jedis/tests/ConnectionTest.java b/src/test/java/redis/clients/jedis/tests/ConnectionTest.java index 84d76b5..eee7ac9 100644 --- a/src/test/java/redis/clients/jedis/tests/ConnectionTest.java +++ b/src/test/java/redis/clients/jedis/tests/ConnectionTest.java @@ -33,4 +33,12 @@ public class ConnectionTest extends Assert { client.setPort(55665); client.connect(); } + + @Test + public void connectIfNotConnectedWhenSettingTimeoutInfinite() { + client.setHost("localhost"); + client.setPort(6379); + client.setTimeoutInfinite(); + } + } \ No newline at end of file