diff --git a/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java b/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java index ca3bcfa261a574cd6df668d99f4b8170d4eb40da..06a28e44cade9c754137e934f3acb0b9633b86d1 100644 --- a/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java +++ b/client/src/main/java/org/apache/rocketmq/client/trace/AsyncTraceDispatcher.java @@ -216,7 +216,11 @@ public class AsyncTraceDispatcher implements TraceDispatcher { public void removeShutdownHook() { if (shutDownHook != null) { - Runtime.getRuntime().removeShutdownHook(shutDownHook); + try { + Runtime.getRuntime().removeShutdownHook(shutDownHook); + } catch (IllegalStateException e) { + // ignore - VM is already shutting down + } } }