diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java index 6458b9590..7a8d81fc3 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterConnection.java @@ -780,11 +780,10 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection { this.topologyProvider = topologyProvider; if (cluster != null) { - PropertyAccessor accessor = new DirectFieldAccessFallbackBeanWrapper(cluster); + PropertyAccessor accessor = new DirectFieldAccessFallbackBeanWrapper(cluster); this.connectionHandler = accessor.isReadableProperty("connectionHandler") - ? (JedisClusterConnectionHandler) accessor.getPropertyValue("connectionHandler") - : null; + ? (JedisClusterConnectionHandler) accessor.getPropertyValue("connectionHandler") : null; } else { this.connectionHandler = null; } @@ -811,7 +810,7 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection { return connection; } - throw new IllegalArgumentException(String.format("Node %s is unknown to cluster", node)); + throw new IllegalStateException(String.format("Node %s is unknown to cluster", node)); } private JedisPool getResourcePoolForSpecificNode(RedisClusterNode node) { @@ -827,7 +826,8 @@ public class JedisClusterConnection implements DefaultedRedisClusterConnection { private Jedis getConnectionForSpecificNode(RedisClusterNode node) { RedisClusterNode member = topologyProvider.getTopology().lookup(node); - if (connectionHandler != null && member != null) { + + if (member != null && connectionHandler != null) { return connectionHandler.getConnectionFromNode(new HostAndPort(member.getHost(), member.getPort())); } diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisClusterConnectionUnitTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisClusterConnectionUnitTests.java index 62071c36c..657e7e8bf 100644 --- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisClusterConnectionUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisClusterConnectionUnitTests.java @@ -276,12 +276,10 @@ public class JedisClusterConnectionUnitTests { nodes.remove(CLUSTER_HOST + ":" + MASTER_NODE_3_PORT); - try { - connection.serverCommands().dbSize(new RedisClusterNode(CLUSTER_HOST, MASTER_NODE_3_PORT)); - } catch (IllegalArgumentException e) { - assertThat(e.getMessage(), - containsString("Node " + CLUSTER_HOST + ":" + MASTER_NODE_3_PORT + " is unknown to cluster")); - } + expectedException.expect(IllegalStateException.class); + expectedException.expectMessage("Node " + CLUSTER_HOST + ":" + MASTER_NODE_3_PORT + " is unknown to cluster"); + + connection.serverCommands().dbSize(new RedisClusterNode(CLUSTER_HOST, MASTER_NODE_3_PORT)); } @Test // DATAREDIS-679 @@ -292,6 +290,7 @@ public class JedisClusterConnectionUnitTests { when(connectionHandlerMock.getConnectionFromNode(new HostAndPort(CLUSTER_HOST, MASTER_NODE_3_PORT))) .thenReturn(con3Mock); when(con3Mock.dbSize()).thenAnswer(new Answer() { + @Override public Long answer(InvocationOnMock invocation) throws Throwable {