This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new f188ef16308c CAMEL-23385: Fix watch mode exit and terminal resource
leak (#23130)
f188ef16308c is described below
commit f188ef16308c7a72535d01f2d554d56b9f322477
Author: Guillaume Nodet <[email protected]>
AuthorDate: Tue May 12 08:12:46 2026 +0200
CAMEL-23385: Fix watch mode exit and terminal resource leak (#23130)
- Remove shadowed local variable in ActionWatchCommand.doCall() that
prevented the watch loop from exiting when the user presses Enter
- Set running flag to false in CamelRouteDiagramAction.waitForUserEnter()
after lineReader.readLine() returns
- Close terminal in finally block to prevent resource leak
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
---
.../camel/dsl/jbang/core/commands/action/ActionWatchCommand.java | 1 -
.../dsl/jbang/core/commands/action/CamelRouteDiagramAction.java | 9 ++++++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
index 5bc634eed4dd..777880a349f9 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/ActionWatchCommand.java
@@ -41,7 +41,6 @@ abstract class ActionWatchCommand extends ActionBaseCommand {
@Override
public Integer doCall() throws Exception {
int exit;
- final AtomicBoolean running = new AtomicBoolean(true);
if (watch) {
Thread t = new Thread(() -> {
waitUserTask = waitForUserEnter();
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDiagramAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDiagramAction.java
index d79fdc876a10..165b53b1cd7e 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDiagramAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDiagramAction.java
@@ -129,7 +129,13 @@ public class CamelRouteDiagramAction extends
ActionWatchCommand {
lineReader =
LineReaderBuilder.builder().terminal(terminal).build();
}
- return super.doCall();
+ try {
+ return super.doCall();
+ } finally {
+ if (terminal != null) {
+ terminal.close();
+ }
+ }
}
@Override
@@ -248,6 +254,7 @@ public class CamelRouteDiagramAction extends
ActionWatchCommand {
// ignore
}
}
+ running.set(false);
};
}