mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-16 11:37:30 +02:00
Check threading on backup init.
This commit is contained in:
@@ -25,16 +25,33 @@ public class Backup implements Runnable
|
|||||||
server = ess.getServer();
|
server = ess.getServer();
|
||||||
if (server.getOnlinePlayers().length > 0)
|
if (server.getOnlinePlayers().length > 0)
|
||||||
{
|
{
|
||||||
startTask();
|
ess.runTaskAsynchronously(new Runnable()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void run()
|
||||||
|
{
|
||||||
|
startTask();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void onPlayerJoin()
|
public void onPlayerJoin()
|
||||||
{
|
{
|
||||||
startTask();
|
startTask();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startTask()
|
public void cleanup()
|
||||||
|
{
|
||||||
|
running = false;
|
||||||
|
if (taskId != -1)
|
||||||
|
{
|
||||||
|
server.getScheduler().cancelTask(taskId);
|
||||||
|
}
|
||||||
|
taskId = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
private synchronized void startTask()
|
||||||
{
|
{
|
||||||
if (!running)
|
if (!running)
|
||||||
{
|
{
|
||||||
@@ -61,7 +78,8 @@ public class Backup implements Runnable
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ("save-all".equalsIgnoreCase(command)) {
|
if ("save-all".equalsIgnoreCase(command))
|
||||||
|
{
|
||||||
final CommandSender cs = server.getConsoleSender();
|
final CommandSender cs = server.getConsoleSender();
|
||||||
server.dispatchCommand(cs, "save-all");
|
server.dispatchCommand(cs, "save-all");
|
||||||
active = false;
|
active = false;
|
||||||
@@ -123,11 +141,7 @@ public class Backup implements Runnable
|
|||||||
server.dispatchCommand(cs, "save-on");
|
server.dispatchCommand(cs, "save-on");
|
||||||
if (server.getOnlinePlayers().length == 0)
|
if (server.getOnlinePlayers().length == 0)
|
||||||
{
|
{
|
||||||
running = false;
|
cleanup();
|
||||||
if (taskId != -1)
|
|
||||||
{
|
|
||||||
server.getScheduler().cancelTask(taskId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
active = false;
|
active = false;
|
||||||
LOGGER.log(Level.INFO, _("backupFinished"));
|
LOGGER.log(Level.INFO, _("backupFinished"));
|
||||||
|
@@ -293,6 +293,7 @@ public class Essentials extends JavaPlugin implements IEssentials
|
|||||||
}
|
}
|
||||||
cleanupOpenInventories();
|
cleanupOpenInventories();
|
||||||
i18n.onDisable();
|
i18n.onDisable();
|
||||||
|
backup.cleanup();
|
||||||
Economy.setEss(null);
|
Economy.setEss(null);
|
||||||
Trade.closeLog();
|
Trade.closeLog();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user