Fixed Exceptions caused by attempting to cancel a null Runnable (TestInit)

This commit is contained in:
Rsl1122 2017-09-03 15:58:45 +03:00
parent 78bcb3fda6
commit 5e457f22b7
3 changed files with 9 additions and 5 deletions

View File

@ -2,6 +2,7 @@ package main.java.com.djrapitops.plan.database.databases;
import com.djrapitops.plugin.api.TimeAmount; import com.djrapitops.plugin.api.TimeAmount;
import com.djrapitops.plugin.task.AbsRunnable; import com.djrapitops.plugin.task.AbsRunnable;
import com.djrapitops.plugin.task.ITask;
import main.java.com.djrapitops.plan.Log; import main.java.com.djrapitops.plan.Log;
import main.java.com.djrapitops.plan.api.IPlan; import main.java.com.djrapitops.plan.api.IPlan;
import main.java.com.djrapitops.plan.api.exceptions.DatabaseInitException; import main.java.com.djrapitops.plan.api.exceptions.DatabaseInitException;
@ -24,6 +25,7 @@ public abstract class SQLDB extends Database {
private final boolean usingMySQL; private final boolean usingMySQL;
private boolean open = false; private boolean open = false;
private ITask dbCleanTask;
/** /**
* @param plugin * @param plugin
@ -77,7 +79,7 @@ public abstract class SQLDB extends Database {
} }
public void scheduleClean(long secondsDelay) { public void scheduleClean(long secondsDelay) {
plugin.getRunnableFactory().createNew(new AbsRunnable("DB Clean Task") { dbCleanTask = plugin.getRunnableFactory().createNew("DB Clean Task", new AbsRunnable() {
@Override @Override
public void run() { public void run() {
try { try {
@ -85,7 +87,7 @@ public abstract class SQLDB extends Database {
} catch (SQLException e) { } catch (SQLException e) {
Log.toLog(this.getClass().getName(), e); Log.toLog(this.getClass().getName(), e);
} finally { } finally {
super.cancel(); cancel();
} }
} }
}).runTaskLaterAsynchronously(TimeAmount.SECOND.ticks() * secondsDelay); }).runTaskLaterAsynchronously(TimeAmount.SECOND.ticks() * secondsDelay);
@ -177,6 +179,9 @@ public abstract class SQLDB extends Database {
setStatus("Closed"); setStatus("Closed");
open = false; open = false;
Log.logDebug("Database"); // Log remaining Debug info if present Log.logDebug("Database"); // Log remaining Debug info if present
if (dbCleanTask != null) {
dbCleanTask.cancel();
}
} }
/** /**

View File

@ -69,7 +69,8 @@ public class BatchOperationTable extends Table {
return; return;
} }
Log.debug("Start Batch Copy Everything"); Log.debug("Start Batch Copy Everything");
toDB.getDb().removeAllData(); toDB.removeAllData();
copyServers(toDB); copyServers(toDB);
System.out.println(toDB.getDb().getServerTable().getServerNames().toString()); System.out.println(toDB.getDb().getServerTable().getServerNames().toString());
copyUsers(toDB); copyUsers(toDB);

View File

@ -147,8 +147,6 @@ public class TestInit {
@Override @Override
public void cancel() { public void cancel() {
timer.cancel(); timer.cancel();
task.cancel();
runnable.cancel();
} }
@Override @Override