From ef967b19bcacaf23f451bf54d5996d848ab0ff0f Mon Sep 17 00:00:00 2001 From: Bixilon Date: Tue, 20 Oct 2020 14:43:16 +0200 Subject: [PATCH] ExecutorService: print exception, if occurs --- src/main/java/de/bixilon/minosoft/util/Util.java | 13 ++++++++----- util/mcdata | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) create mode 120000 util/mcdata diff --git a/src/main/java/de/bixilon/minosoft/util/Util.java b/src/main/java/de/bixilon/minosoft/util/Util.java index 25e008a12..719c6a18d 100644 --- a/src/main/java/de/bixilon/minosoft/util/Util.java +++ b/src/main/java/de/bixilon/minosoft/util/Util.java @@ -29,10 +29,7 @@ import java.security.NoSuchAlgorithmException; import java.util.Collection; import java.util.HashMap; import java.util.UUID; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.ThreadFactory; +import java.util.concurrent.*; import java.util.regex.Pattern; import java.util.zip.*; @@ -226,7 +223,13 @@ public final class Util { public static void executeInThreadPool(String name, Collection> callables) throws InterruptedException { ExecutorService phaseLoader = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors(), getThreadFactory(name)); - phaseLoader.invokeAll(callables); + phaseLoader.invokeAll(callables).forEach((tFuture -> { + try { + tFuture.get(); + } catch (ExecutionException | InterruptedException ex) { + ex.getCause().printStackTrace(); + } + })); } public static ThreadFactory getThreadFactory(String threadName) { diff --git a/util/mcdata b/util/mcdata new file mode 120000 index 000000000..9e804089e --- /dev/null +++ b/util/mcdata @@ -0,0 +1 @@ +../data/mcdata/ \ No newline at end of file