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