From 7c35aad456edf70db86be83f1dabe47c734170e3 Mon Sep 17 00:00:00 2001 From: Tux Date: Fri, 6 Dec 2013 21:27:28 -0500 Subject: [PATCH] Fix Jedis connection failure detection. --- .../imaginarycode/minecraft/redisbungee/RedisBungee.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index 2663756..1519dbf 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -253,12 +253,14 @@ public class RedisBungee extends Plugin implements Listener { if (!redisServer.equals("")) { pool = new JedisPool(new JedisPoolConfig(), redisServer, redisPort, Protocol.DEFAULT_TIMEOUT, redisPassword); // Test the connection - Jedis rsc = pool.getResource(); + Jedis rsc = null; try { + rsc = pool.getResource(); rsc.exists(String.valueOf(System.currentTimeMillis())); getLogger().log(Level.INFO, "Successfully connected to Redis."); } catch (JedisConnectionException e) { - pool.returnBrokenResource(rsc); + if (rsc != null) + pool.returnBrokenResource(rsc); getLogger().log(Level.WARNING, "Failed to connect to your Redis server! RedisBungee will still work, albeit with reduced functionality.", e); pool.destroy(); pool = null;