mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-23 01:27:37 +00:00
Fix Redis hanging
This commit is contained in:
parent
c93bd4fd2c
commit
140f298018
@ -70,13 +70,6 @@ public class Plex extends JavaPlugin
|
||||
sqlConnection = new SQLConnection();
|
||||
mongoConnection = new MongoConnection();
|
||||
redisConnection = new RedisConnection();
|
||||
/*try {
|
||||
redisConnection.openPool();
|
||||
PlexLog.log("Successfully opened redis pool. Closing.");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
redisConnection.getJedis().close();*/
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -103,7 +96,7 @@ public class Plex extends JavaPlugin
|
||||
|
||||
if (redisConnection.isEnabled())
|
||||
{
|
||||
redisConnection.openPool();
|
||||
redisConnection.getJedis();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -50,6 +50,7 @@ public class PlexCMD extends PlexCommand
|
||||
plugin.getRedisConnection().getJedis().set("test", "123");
|
||||
send(sender, "Set test to 123. Now outputting key test...");
|
||||
send(sender, plugin.getRedisConnection().getJedis().get("test"));
|
||||
plugin.getRedisConnection().getJedis().close();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -98,6 +98,7 @@ public class PunishedPlayer extends PlexBase
|
||||
Punishment punishment = Punishment.fromJson(obj.toString());
|
||||
punishments.add(punishment);
|
||||
});
|
||||
plugin.getRedisConnection().getJedis().close();
|
||||
return punishments;
|
||||
}
|
||||
|
||||
|
@ -41,6 +41,7 @@ public class PunishmentManager extends PlexBase
|
||||
{
|
||||
plugin.getRedisConnection().getJedis().set(player.getUuid(), object.toString());
|
||||
PlexLog.debug("Added " + player.getUuid() + "'s punishment to the Redis database.");
|
||||
plugin.getRedisConnection().getJedis().close();
|
||||
}
|
||||
|
||||
FileWriter writer = new FileWriter(file);
|
||||
@ -62,6 +63,7 @@ public class PunishmentManager extends PlexBase
|
||||
{
|
||||
plugin.getRedisConnection().getJedis().set(player.getUuid(), object.toString());
|
||||
PlexLog.debug("Added " + player.getUuid() + "'s punishment to the Redis database.");
|
||||
plugin.getRedisConnection().getJedis().close();
|
||||
}
|
||||
|
||||
FileWriter writer = new FileWriter(file);
|
||||
|
@ -1,22 +1,22 @@
|
||||
package dev.plex.storage;
|
||||
|
||||
import dev.plex.Plex;
|
||||
import dev.plex.PlexBase;
|
||||
import dev.plex.util.PlexLog;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.JedisPool;
|
||||
import redis.clients.jedis.JedisPoolConfig;
|
||||
|
||||
public class RedisConnection extends PlexBase
|
||||
{
|
||||
private JedisPool pool;
|
||||
private Jedis jedis;
|
||||
|
||||
public JedisPool openPool()
|
||||
/*public JedisPool openPool()
|
||||
{
|
||||
JedisPoolConfig jedisConfig = new JedisPoolConfig();
|
||||
//jedisConfig.setMaxIdle(10);
|
||||
//jedisConfig.setMaxTotal(100);
|
||||
ClassLoader previous = Thread.currentThread().getContextClassLoader();
|
||||
Thread.currentThread().setContextClassLoader(RedisConnection.class.getClassLoader());
|
||||
this.pool = new JedisPool(new JedisPoolConfig(), plugin.config.getString("data.side.hostname"), Plex.get().getConfig().getInt("data.side.port"));
|
||||
this.pool = new JedisPool(jedisConfig, plugin.config.getString("data.side.hostname"),
|
||||
plugin.config.getInt("data.side.port"));
|
||||
Thread.currentThread().setContextClassLoader(previous);
|
||||
PlexLog.log("Connected to Redis!");
|
||||
return pool;
|
||||
@ -24,12 +24,41 @@ public class RedisConnection extends PlexBase
|
||||
|
||||
public Jedis getJedis()
|
||||
{
|
||||
this.jedis = pool.getResource();
|
||||
try
|
||||
{
|
||||
this.jedis = pool.getResource();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PlexLog.error("An error occurred with Redis.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
if (plugin.config.getBoolean("data.side.auth"))
|
||||
{
|
||||
jedis.auth(plugin.config.getString("data.side.password"));
|
||||
}
|
||||
return jedis;
|
||||
}*/
|
||||
|
||||
public Jedis getJedis()
|
||||
{
|
||||
try
|
||||
{
|
||||
jedis = new Jedis(plugin.config.getString("data.side.hostname"),
|
||||
plugin.config.getInt("data.side.port"));
|
||||
if (plugin.config.getBoolean("data.side.auth"))
|
||||
{
|
||||
jedis.auth(plugin.config.getString("data.side.password"));
|
||||
}
|
||||
PlexLog.log("Connected to Redis!");
|
||||
return jedis;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PlexLog.error("An error occurred with Redis.");
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return jedis;
|
||||
}
|
||||
|
||||
public final boolean isEnabled()
|
||||
|
Loading…
Reference in New Issue
Block a user