diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
index e35bd16..a4a96f5 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java
@@ -1,5 +1,7 @@
package com.imaginarycode.minecraft.redisbungee;
+import redis.clients.jedis.JedisPool;
+
/**
* This used to be old plugin instance of redis-bungee, but now it's used to get the api for old plugins
*
@@ -27,6 +29,10 @@ public class RedisBungee {
return api;
}
+ @Deprecated
+ public JedisPool getPool() {
+ return api.getJedisPool();
+ }
}
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
index 4ca064e..4cb2db4 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
@@ -5,8 +5,10 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
import com.imaginarycode.minecraft.redisbungee.internal.RedisBungeePlugin;
+import com.imaginarycode.minecraft.redisbungee.internal.summoners.JedisSummoner;
import org.checkerframework.checker.nullness.qual.NonNull;
import redis.clients.jedis.Jedis;
+import redis.clients.jedis.JedisPool;
import java.net.InetAddress;
import java.util.*;
@@ -309,9 +311,28 @@ public class RedisBungeeAPI {
* @since 0.7.0
*/
public Jedis requestJedis() {
- return this.plugin.requestJedis();
+ return this.plugin.getJedisSummoner().requestJedis();
}
+ /**
+ * This gets Redis Bungee {@link JedisPool}
+ * @return {@link JedisPool}
+ * @since 0.6.5
+ */
+ public JedisPool getJedisPool() {
+ return this.plugin.getJedisSummoner().getJedisPool();
+ }
+
+ /**
+ * This gets Redis Bungee {@link JedisPool}
+ * @return {@link JedisPool}
+ * @since 0.6.5
+ */
+ public JedisSummoner getJedisSummoner() {
+ return this.plugin.getJedisSummoner();
+ }
+
+
/**
*
* @return the API instance.
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/AbstractDataManager.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/AbstractDataManager.java
index 0b2fc20..4a9d91b 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/AbstractDataManager.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/AbstractDataManager.java
@@ -55,7 +55,7 @@ public abstract class AbstractDataManager
{
return serverCache.get(uuid, new Callable() {
@Override
public String call() throws Exception {
- try (Jedis tmpRsc = plugin.requestJedis()) {
+ try (Jedis tmpRsc = plugin.getJedisSummoner().requestJedis()) {
return Objects.requireNonNull(tmpRsc.hget("player:" + uuid, "server"), "user not found");
}
}
@@ -79,7 +79,7 @@ public abstract class AbstractDataManager {
return proxyCache.get(uuid, new Callable() {
@Override
public String call() throws Exception {
- try (Jedis tmpRsc = plugin.requestJedis()) {
+ try (Jedis tmpRsc = plugin.getJedisSummoner().requestJedis()) {
return Objects.requireNonNull(tmpRsc.hget("player:" + uuid, "proxy"), "user not found");
}
}
@@ -102,7 +102,7 @@ public abstract class AbstractDataManager {
return ipCache.get(uuid, new Callable() {
@Override
public InetAddress call() throws Exception {
- try (Jedis tmpRsc = plugin.requestJedis()) {
+ try (Jedis tmpRsc = plugin.getJedisSummoner().requestJedis()) {
String result = tmpRsc.hget("player:" + uuid, "ip");
if (result == null)
throw new NullPointerException("user not found");
@@ -128,7 +128,7 @@ public abstract class AbstractDataManager {
return lastOnlineCache.get(uuid, new Callable() {
@Override
public Long call() throws Exception {
- try (Jedis tmpRsc = plugin.requestJedis()) {
+ try (Jedis tmpRsc = plugin.getJedisSummoner().requestJedis()) {
String result = tmpRsc.hget("player:" + uuid, "online");
return result == null ? -1 : Long.valueOf(result);
}
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/PubSubListener.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/PubSubListener.java
index 83c624c..9e75aa2 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/PubSubListener.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/PubSubListener.java
@@ -21,7 +21,7 @@ public class PubSubListener implements Runnable {
@Override
public void run() {
- try (Jedis rsc = plugin.requestJedis()) {
+ try (Jedis rsc = plugin.getJedisSummoner().requestJedis()) {
try {
jpsh = new JedisPubSubHandler(plugin);
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
index 7ce5560..6dd70ec 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
@@ -2,6 +2,7 @@ package com.imaginarycode.minecraft.redisbungee.internal;
import com.google.common.collect.Multimap;
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
+import com.imaginarycode.minecraft.redisbungee.internal.summoners.JedisSummoner;
import com.imaginarycode.minecraft.redisbungee.internal.util.uuid.UUIDTranslator;
import redis.clients.jedis.Jedis;
@@ -34,6 +35,8 @@ public interface RedisBungeePlugin extends EventsPlatform{
boolean isJedisAvailable();
+ JedisSummoner getJedisSummoner();
+
RedisBungeeConfiguration getConfiguration();
int getCount();
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/JedisSummoner.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/JedisSummoner.java
index e09e878..9c51033 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/JedisSummoner.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/JedisSummoner.java
@@ -20,4 +20,6 @@ public interface JedisSummoner extends Closeable {
boolean isJedisAvailable();
+ JedisPool getJedisPool();
+
}
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/SinglePoolJedisSummoner.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/SinglePoolJedisSummoner.java
index 70198f8..02f4453 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/SinglePoolJedisSummoner.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/summoners/SinglePoolJedisSummoner.java
@@ -22,6 +22,11 @@ public class SinglePoolJedisSummoner implements JedisSummoner {
return !this.jedisPool.isClosed();
}
+ @Override
+ public JedisPool getJedisPool() {
+ return this.jedisPool;
+ }
+
@Override
public void close() throws IOException {
jedisPool.close();
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/LuaManager.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/LuaManager.java
index 008b2c2..52f8ebb 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/LuaManager.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/LuaManager.java
@@ -14,7 +14,7 @@ public class LuaManager {
}
public Script createScript(String script) {
- try (Jedis jedis = plugin.requestJedis()) {
+ try (Jedis jedis = plugin.getJedisSummoner().requestJedis()) {
String hash = jedis.scriptLoad(script);
return new Script(script, hash);
}
@@ -40,7 +40,7 @@ public class LuaManager {
public Object eval(List keys, List args) {
Object data;
- try (Jedis jedis = plugin.requestJedis()) {
+ try (Jedis jedis = plugin.getJedisSummoner().requestJedis()) {
try {
data = jedis.evalsha(hashed, keys, args);
} catch (JedisDataException e) {
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisCallable.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisCallable.java
index 3aa3e28..eb2873d 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisCallable.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/RedisCallable.java
@@ -25,7 +25,7 @@ public abstract class RedisCallable implements Callable, Runnable {
}
private T run(boolean retry) {
- try (Jedis jedis = plugin.requestJedis()) {
+ try (Jedis jedis = plugin.getJedisSummoner().requestJedis()) {
return call(jedis);
} catch (JedisConnectionException e) {
plugin.logFatal("Unable to get connection");
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java
index f2c8ff0..a9227d7 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/util/uuid/UUIDTranslator.java
@@ -73,7 +73,7 @@ public final class UUIDTranslator {
}
// Let's try Redis.
- try (Jedis jedis = plugin.requestJedis()) {
+ try (Jedis jedis = plugin.getJedisSummoner().requestJedis()) {
String stored = jedis.hget("uuid-cache", player.toLowerCase());
if (stored != null) {
// Found an entry value. Deserialize it.
@@ -131,7 +131,7 @@ public final class UUIDTranslator {
}
// Okay, it wasn't locally cached. Let's try Redis.
- try (Jedis jedis = plugin.requestJedis()) {
+ try (Jedis jedis = plugin.getJedisSummoner().requestJedis()) {
String stored = jedis.hget("uuid-cache", player.toString());
if (stored != null) {
// Found an entry value. Deserialize it.
diff --git a/RedisBungee-API/src/main/resources/example_config.yml b/RedisBungee-API/src/main/resources/example_config.yml
index 46bb865..2002f57 100644
--- a/RedisBungee-API/src/main/resources/example_config.yml
+++ b/RedisBungee-API/src/main/resources/example_config.yml
@@ -1,5 +1,9 @@
# RedisBungee configuration file.
-# PLEASE READ THE WIKI: https://github.com/Limework/RedisBungee/wiki
+# PLEASE READ THE WIKI: https://github.com/ProxioDev/RedisBungee/wiki
+
+# Cluster Mode its in different config file redis-cluster.yml
+# enabling this option will ignore redis config of this file
+cluster-mode: false
# The Redis server you use.
# Get Redis from http://redis.io/
diff --git a/RedisBungee-API/src/main/resources/redis-cluster.yml b/RedisBungee-API/src/main/resources/redis-cluster.yml
new file mode 100644
index 0000000..e69de29
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
index 57c8989..f146d78 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
+++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
@@ -502,6 +502,11 @@ public class RedisBungeeBungeePlugin extends Plugin implements RedisBungeePlugin
}
}
+ @Override
+ public JedisSummoner getJedisSummoner() {
+ return this.jedisSummoner;
+ }
+
@Override
public void loadConfig() throws IOException {
if (!getDataFolder().exists() && getDataFolder().mkdir()) {
diff --git a/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java b/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java
index 37a5e76..7089304 100644
--- a/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java
+++ b/RedisBungee-Velocity/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeVelocityPlugin.java
@@ -200,6 +200,11 @@ public class RedisBungeeVelocityPlugin implements RedisBungeePlugin {
return this.jedisSummoner.isJedisAvailable();
}
+ @Override
+ public JedisSummoner getJedisSummoner() {
+ return this.jedisSummoner;
+ }
+
@Override
public RedisBungeeAPI getApi() {
return this.api;