From f9cdad751c15cf1dd70f4dd66c0d170cd049e612 Mon Sep 17 00:00:00 2001 From: Jennifer Hickey Date: Fri, 16 Aug 2013 14:20:30 -0700 Subject: [PATCH] Lazily instantiate shared Lettuce connection Allow app context to start if Redis is down DATAREDIS-209 --- .../lettuce/LettuceConnectionFactory.java | 4 ---- .../LettuceConnectionFactoryTests.java | 22 +++++++------------ 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java index 096c11e05..e0e5be050 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java @@ -95,10 +95,6 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea public void afterPropertiesSet() { this.client = createRedisClient(); - resetConnection(); - if (shareNativeConnection) { - initConnection(); - } } public void destroy() { diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java index e7f2601ff..4459f7ba5 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryTests.java @@ -174,18 +174,21 @@ public class LettuceConnectionFactoryTests { assertNotSame(nativeConn, factory.getConnection().getNativeConnection()); } - @Test(expected=RedisConnectionFailureException.class) - public void testInitConnectionException() { + public void testGetConnectionException() { factory.setHostName("fakeHost"); factory.afterPropertiesSet(); + try { + factory.getConnection(); + fail("Expected connection failure exception"); + } catch(RedisConnectionFailureException e) { + } } - @Test(expected=RedisConnectionFailureException.class) - public void testGetConnectionSharedException() { + @Test + public void testGetConnectionNotSharedBadHostname() { factory.setShareNativeConnection(false); factory.setHostName("fakeHost"); factory.afterPropertiesSet(); - factory.setShareNativeConnection(true); factory.getConnection(); } @@ -197,15 +200,6 @@ public class LettuceConnectionFactoryTests { assertNull(factory.getSharedConnection()); } - @Test(expected=RedisConnectionFailureException.class) - public void testGetSharedConnectionSharedException() { - factory.setShareNativeConnection(false); - factory.setHostName("fakeHost"); - factory.afterPropertiesSet(); - factory.setShareNativeConnection(true); - factory.getSharedConnection(); - } - @Test public void testCreateFactoryWithPool() { DefaultLettucePool pool = new DefaultLettucePool(SettingsUtils.getHost(),