From 8241d64d115a1c916ef9bdbdafa56ed4b1081ea1 Mon Sep 17 00:00:00 2001 From: William Date: Thu, 23 Dec 2021 23:08:35 +0000 Subject: [PATCH] Authenticate redis after establishing connection --- .../william278/husksync/redis/RedisListener.java | 15 +++++++++------ .../william278/husksync/redis/RedisMessage.java | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/me/william278/husksync/redis/RedisListener.java b/common/src/main/java/me/william278/husksync/redis/RedisListener.java index 547e20f5..c5fb29f1 100644 --- a/common/src/main/java/me/william278/husksync/redis/RedisListener.java +++ b/common/src/main/java/me/william278/husksync/redis/RedisListener.java @@ -2,6 +2,7 @@ package me.william278.husksync.redis; import me.william278.husksync.Settings; import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisClientConfig; import redis.clients.jedis.JedisPubSub; import redis.clients.jedis.exceptions.JedisException; @@ -17,13 +18,15 @@ public abstract class RedisListener { /** * Handle an incoming {@link RedisMessage} + * * @param message The {@link RedisMessage} to handle */ public abstract void handleMessage(RedisMessage message); /** * Log to console - * @param level The {@link Level} to log + * + * @param level The {@link Level} to log * @param message Message to log */ public abstract void log(Level level, String message); @@ -32,15 +35,15 @@ public abstract class RedisListener { * Start the Redis listener */ public final void listen() { - try(Jedis jedis = new Jedis(Settings.redisHost, Settings.redisPort)) { + try (Jedis jedis = new Jedis(Settings.redisHost, Settings.redisPort)) { final String jedisPassword = Settings.redisPassword; - if (!jedisPassword.equals("")) { - jedis.auth(jedisPassword); - } jedis.connect(); if (jedis.isConnected()) { + if (!jedisPassword.equals("")) { + jedis.auth(jedisPassword); + } isActiveAndEnabled = true; - log(Level.INFO,"Enabled Redis listener successfully!"); + log(Level.INFO, "Enabled Redis listener successfully!"); new Thread(() -> jedis.subscribe(new JedisPubSub() { @Override public void onMessage(String channel, String message) { diff --git a/common/src/main/java/me/william278/husksync/redis/RedisMessage.java b/common/src/main/java/me/william278/husksync/redis/RedisMessage.java index 4383300c..1200aae3 100644 --- a/common/src/main/java/me/william278/husksync/redis/RedisMessage.java +++ b/common/src/main/java/me/william278/husksync/redis/RedisMessage.java @@ -63,10 +63,10 @@ public class RedisMessage { public void send() throws IOException { try (Jedis publisher = new Jedis(Settings.redisHost, Settings.redisPort)) { final String jedisPassword = Settings.redisPassword; + publisher.connect(); if (!jedisPassword.equals("")) { publisher.auth(jedisPassword); } - publisher.connect(); publisher.publish(REDIS_CHANNEL, getFullMessage()); } }