Moved static future nullification to proper finally block

This commit is contained in:
Rsl1122 2018-04-05 19:58:21 +03:00
parent 1ef1910abb
commit 4dba49f241

View File

@ -41,7 +41,7 @@ public class Analysis implements Callable<AnalysisData> {
private final DataCache dataCache; private final DataCache dataCache;
private static Future<AnalysisData> future; private static Future<AnalysisData> future;
private boolean analysingThisServer; private boolean analysingThisServer;
private Analysis(UUID serverUUID, Database database, DataCache dataCache) { private Analysis(UUID serverUUID, Database database, DataCache dataCache) {
@ -56,8 +56,12 @@ public class Analysis implements Callable<AnalysisData> {
} }
public static AnalysisData runAnalysisFor(UUID serverUUID, Database database, DataCache dataCache) throws Exception { public static AnalysisData runAnalysisFor(UUID serverUUID, Database database, DataCache dataCache) throws Exception {
future = future != null ? future : Processing.submit(new Analysis(serverUUID, database, dataCache)); try {
return future.get(); future = future != null ? future : Processing.submit(new Analysis(serverUUID, database, dataCache));
return future.get();
} finally {
future = null;
}
} }
/** /**
@ -198,7 +202,6 @@ public class Analysis implements Callable<AnalysisData> {
Log.logDebug("Analysis"); Log.logDebug("Analysis");
Log.info(Locale.get(Msg.ANALYSIS_FINISHED).parse(time, "")); Log.info(Locale.get(Msg.ANALYSIS_FINISHED).parse(time, ""));
Analysis.setServerProfile(null); Analysis.setServerProfile(null);
future = null;
} }
} }
} }