+ private static Set<HostAndPort> getRedisHostsAndPorts(final String redisHosts) {
+ final LinkedHashSet<HostAndPort> hostAndPorts = new LinkedHashSet<>();
+ final String[] redisHostsString = redisHosts.split(",");
+ for (String redisHostString : redisHostsString) {
+ hostAndPorts.add(HostAndPort.parseString(redisHostString.trim()));
+ }
+ return hostAndPorts;
+ }
+
+ private static void checkRedisConnection(final Set<HostAndPort> redisHostAndPorts) {
+ LOG.info("Checking Redis Connection for Redis Hosts: {}", redisHostAndPorts);
+ try (final JedisCluster jedisCluster = new JedisCluster(redisHostAndPorts)) {
+ final Map<String, JedisPool> clusterNodes = jedisCluster.getClusterNodes();
+ jedisCluster.get("testKey");
+ LOG.info("Confirmed redis cluster Nodes: {}", clusterNodes.keySet());
+ } catch (JedisConnectionException | IOException e) {
+ LOG.error("Unable to make Redis connection for given redisHosts: {}", redisHostAndPorts);
+ throw new DCAEAnalyticsRuntimeException("No Redis Connection", LOG, e);
+ }
+ }
+