forked from LogBlock/LogBlock
Asynced getConnection() where possible
This commit is contained in:
@@ -360,19 +360,17 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class LBCommand implements Runnable, Closeable
|
public abstract class AbstractCommand implements Runnable, Closeable
|
||||||
{
|
{
|
||||||
protected final CommandSender sender;
|
protected CommandSender sender;
|
||||||
protected final QueryParams params;
|
protected QueryParams params;
|
||||||
protected Connection conn = null;
|
protected Connection conn = null;
|
||||||
protected Statement state = null;
|
protected Statement state = null;
|
||||||
protected ResultSet rs = null;
|
protected ResultSet rs = null;
|
||||||
|
|
||||||
protected LBCommand(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
protected AbstractCommand(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
this.params = params;
|
this.params = params;
|
||||||
conn = logblock.getConnection();
|
|
||||||
state = conn.createStatement();
|
|
||||||
if (async) {
|
if (async) {
|
||||||
if (scheduler.scheduleAsyncDelayedTask(logblock, this) == -1)
|
if (scheduler.scheduleAsyncDelayedTask(logblock, this) == -1)
|
||||||
throw new Exception("Failed to schedule the command");
|
throw new Exception("Failed to schedule the command");
|
||||||
@@ -395,7 +393,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandLookup extends LBCommand
|
public class CommandLookup extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandLookup(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandLookup(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -404,6 +402,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
if (params.limit == 15 && params.sum == SummarizationMode.NONE)
|
if (params.limit == 15 && params.sum == SummarizationMode.NONE)
|
||||||
params.limit = config.linesLimit;
|
params.limit = config.linesLimit;
|
||||||
rs = state.executeQuery(params.getLookupQuery());
|
rs = state.executeQuery(params.getLookupQuery());
|
||||||
@@ -438,7 +438,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandWriteLogFile extends LBCommand
|
public class CommandWriteLogFile extends AbstractCommand
|
||||||
{
|
{
|
||||||
CommandWriteLogFile(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
CommandWriteLogFile(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -448,6 +448,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
public void run() {
|
public void run() {
|
||||||
File file = null;
|
File file = null;
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
file = new File("plugins/LogBlock/log/" + params.getTitle().replace(":", ".") + ".log");
|
file = new File("plugins/LogBlock/log/" + params.getTitle().replace(":", ".") + ".log");
|
||||||
sender.sendMessage(ChatColor.GREEN + "Creating " + file.getName());
|
sender.sendMessage(ChatColor.GREEN + "Creating " + file.getName());
|
||||||
rs = state.executeQuery(params.getLookupQuery());
|
rs = state.executeQuery(params.getLookupQuery());
|
||||||
@@ -473,7 +475,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandSaveQueue extends LBCommand
|
public class CommandSaveQueue extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandSaveQueue(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandSaveQueue(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -491,7 +493,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandTeleport extends LBCommand
|
public class CommandTeleport extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandTeleport(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandTeleport(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -500,6 +502,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
rs = state.executeQuery("SELECT x, y, z FROM `" + params.getTable() + "` INNER JOIN `lb-players` USING (playerid) " + params.getWhere() + params.getOrderBy() + " LIMIT 1");
|
rs = state.executeQuery("SELECT x, y, z FROM `" + params.getTable() + "` INNER JOIN `lb-players` USING (playerid) " + params.getWhere() + params.getOrderBy() + " LIMIT 1");
|
||||||
if (rs.next()) {
|
if (rs.next()) {
|
||||||
final Player player = (Player)sender;
|
final Player player = (Player)sender;
|
||||||
@@ -520,7 +524,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandRollback extends LBCommand
|
public class CommandRollback extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandRollback(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandRollback(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -529,6 +533,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
if (!checkRestrictions(sender, params))
|
if (!checkRestrictions(sender, params))
|
||||||
return;
|
return;
|
||||||
if (logblock.getConsumer().getQueueSize() > 50)
|
if (logblock.getConsumer().getQueueSize() > 50)
|
||||||
@@ -566,7 +572,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandRedo extends LBCommand
|
public class CommandRedo extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandRedo(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandRedo(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -575,6 +581,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
if (!checkRestrictions(sender, params))
|
if (!checkRestrictions(sender, params))
|
||||||
return;
|
return;
|
||||||
rs = state.executeQuery(params.getRollbackQuery());
|
rs = state.executeQuery(params.getRollbackQuery());
|
||||||
@@ -607,7 +615,7 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CommandClearLog extends LBCommand
|
public class CommandClearLog extends AbstractCommand
|
||||||
{
|
{
|
||||||
public CommandClearLog(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
public CommandClearLog(CommandSender sender, QueryParams params, boolean async) throws Exception {
|
||||||
super(sender, params, async);
|
super(sender, params, async);
|
||||||
@@ -616,6 +624,8 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
|
conn = logblock.getConnection();
|
||||||
|
state = conn.createStatement();
|
||||||
if (!checkRestrictions(sender, params))
|
if (!checkRestrictions(sender, params))
|
||||||
return;
|
return;
|
||||||
final File dumpFolder = new File(logblock.getDataFolder(), "dumb");
|
final File dumpFolder = new File(logblock.getDataFolder(), "dumb");
|
||||||
|
@@ -58,7 +58,7 @@ public class MySQLConnectionPool implements Closeable
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Connection getConnection() throws SQLException, InterruptedException, TimeoutException {
|
public Connection getConnection() throws SQLException, InterruptedException, TimeoutException {
|
||||||
if (!lock.tryLock(1000, TimeUnit.MILLISECONDS))
|
if (!lock.tryLock(3000, TimeUnit.MILLISECONDS))
|
||||||
throw new TimeoutException();
|
throw new TimeoutException();
|
||||||
try {
|
try {
|
||||||
JDCConnection conn;
|
JDCConnection conn;
|
||||||
|
Reference in New Issue
Block a user