You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/03/23 20:29:24 UTC
(camel) 01/01: CAMEL-23230: Force System.exit() in Main/KameletMain to ensure JVM terminates
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch sumptuous-paradox
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 4ff38ffffd62e69c32650afad5c5b37e4bb60571
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Mar 23 21:29:08 2026 +0100
CAMEL-23230: Force System.exit() in Main/KameletMain to ensure JVM terminates
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
core/camel-main/src/main/java/org/apache/camel/main/Main.java | 7 +++----
.../src/main/java/org/apache/camel/main/KameletMain.java | 7 +++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/Main.java b/core/camel-main/src/main/java/org/apache/camel/main/Main.java
index b0e8a40a6f4c..9dbc1507a872 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/Main.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/Main.java
@@ -68,10 +68,9 @@ public class Main extends MainCommandLineSupport {
Main main = new Main();
instance = main;
int code = main.run(args);
- if (code != 0) {
- System.exit(code);
- }
- // normal exit
+ // force exit to ensure the JVM terminates even if
+ // components have non-daemon threads still running (e.g. RabbitMQ)
+ System.exit(code);
}
/**
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index deda5b3178f2..0b9be895dc08 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -167,10 +167,9 @@ public class KameletMain extends MainCommandLineSupport {
public static void main(String... args) throws Exception {
KameletMain main = new KameletMain();
int code = main.run(args);
- if (code != 0) {
- System.exit(code);
- }
- // normal exit
+ // force exit to ensure the JVM terminates even if
+ // components have non-daemon threads still running (e.g. RabbitMQ)
+ System.exit(code);
}
@Override