diff --git a/core/runtime/src/main/java/io/quarkus/runtime/Quarkus.java b/core/runtime/src/main/java/io/quarkus/runtime/Quarkus.java index 123e2047fec22..2494d6cec2089 100644 --- a/core/runtime/src/main/java/io/quarkus/runtime/Quarkus.java +++ b/core/runtime/src/main/java/io/quarkus/runtime/Quarkus.java @@ -2,6 +2,7 @@ import java.io.Closeable; import java.io.IOException; +import java.util.Locale; import java.util.function.BiConsumer; import org.jboss.logging.Logger; @@ -179,6 +180,12 @@ public static void waitForExit() { * Must not be called by the main thread, or a deadlock will result. */ public static void blockingExit() { + if (Thread.currentThread().getThreadGroup().getName().equals("main") && + Thread.currentThread().getName().toLowerCase(Locale.ROOT).contains("main")) { + Logger.getLogger(Quarkus.class).error( + "'Quarkus#blockingExit' was called on the main thread. This will result in deadlocking the application!"); + } + Application app = Application.currentApplication(); asyncExit(); if (app != null) {