You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2025/05/21 13:42:53 UTC
(camel) branch port2 created (now 68096ac6bab)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a change to branch port2
in repository https://gitbox.apache.org/repos/asf/camel.git
at 68096ac6bab CAMEL-22017: camel-jbang - Add management-port option to specify a dedicated port instead of default.
This branch includes the following new commits:
new 68096ac6bab CAMEL-22017: camel-jbang - Add management-port option to specify a dedicated port instead of default.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(camel) 01/01: CAMEL-22017: camel-jbang - Add management-port option to specify a dedicated port instead of default.
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch port2
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 68096ac6babf71be2fa03c8e69fa30dedb38abed
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed May 21 15:42:35 2025 +0200
CAMEL-22017: camel-jbang - Add management-port option to specify a dedicated port instead of default.
---
.../apache/camel/dsl/jbang/core/commands/Export.java | 2 ++
.../dsl/jbang/core/commands/ExportBaseCommand.java | 19 ++++++++++++++++++-
.../dsl/jbang/core/commands/ExportCamelMain.java | 5 +++++
.../camel/dsl/jbang/core/commands/ExportQuarkus.java | 6 +++++-
.../dsl/jbang/core/commands/ExportSpringBoot.java | 4 ++++
.../org/apache/camel/dsl/jbang/core/commands/Run.java | 12 ++++++++++--
.../camel/main/download/MainHttpServerFactory.java | 2 +-
.../camel/main/util/CamelJBangSettingsHelper.java | 2 +-
8 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
index 597c6f3b514..9bd75723c11 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
@@ -168,6 +168,8 @@ public class Export extends ExportBaseCommand {
cmd.dependencies = this.dependencies;
cmd.runtime = this.runtime;
cmd.name = this.name;
+ cmd.port = this.port;
+ cmd.managementPort = this.managementPort;
cmd.gav = this.gav;
cmd.mavenSettings = this.mavenSettings;
cmd.mavenSettingsSecurity = this.mavenSettingsSecurity;
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index a32d6b4d44c..6d5207cf685 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -119,6 +119,10 @@ public abstract class ExportBaseCommand extends CamelCommand {
description = "Embeds a local HTTP server on this port", defaultValue = "8080")
int port;
+ @CommandLine.Option(names = { "--management-port" },
+ description = "To use a dedicated port for HTTP management")
+ int managementPort = -1;
+
@CommandLine.Option(names = { "--gav" }, description = "The Maven group:artifact:version")
protected String gav;
@@ -341,6 +345,7 @@ public abstract class ExportBaseCommand extends CamelCommand {
run.files = files;
run.name = name;
run.port = port;
+ run.managementPort = managementPort;
run.excludes = excludes;
run.openapi = openapi;
run.download = download;
@@ -950,7 +955,19 @@ public abstract class ExportBaseCommand extends CamelCommand {
protected static int httpServerPort(Path settings) {
try {
List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
- String port = lines.stream().filter(l -> l.startsWith("camel.jbang.platform-http.port="))
+ String port = lines.stream().filter(l -> l.startsWith("camel.server.port="))
+ .map(s -> StringHelper.after(s, "=")).findFirst().orElse("-1");
+ return Integer.parseInt(port);
+ } catch (Exception e) {
+ // ignore
+ }
+ return -1;
+ }
+
+ protected static int httpManagementPort(Path settings) {
+ try {
+ List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
+ String port = lines.stream().filter(l -> l.startsWith("camel.management.port="))
.map(s -> StringHelper.after(s, "=")).findFirst().orElse("-1");
return Integer.parseInt(port);
} catch (Exception e) {
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index 851274b6402..d448e94e4d2 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -130,6 +130,11 @@ class ExportCamelMain extends Export {
prop.put("camel.server.health-check-enabled", "true");
}
}
+ port = httpManagementPort(settings);
+ if (port != -1) {
+ prop.put("camel.management.enabled", "true");
+ prop.put("camel.management.port", port);
+ }
return prop;
});
// create main class
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 9801a31bee0..c7b11b57262 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -110,9 +110,13 @@ class ExportQuarkus extends Export {
if (port == -1) {
port = 8080;
}
- if (port != -1 && port != 8080) {
+ if (port != 8080) {
prop.put("quarkus.http.port", port);
}
+ port = httpManagementPort(settings);
+ if (port != -1) {
+ prop.put("quarkus.management.port", port);
+ }
return prop;
});
// copy docker files
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
index 3fce795c388..b105842234e 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java
@@ -128,6 +128,10 @@ class ExportSpringBoot extends Export {
if (port != -1 && port != 8080) {
prop.put("server.port", port);
}
+ port = httpManagementPort(settings);
+ if (port != -1) {
+ prop.put("management.server.port", port);
+ }
return prop;
});
if ("maven".equals(buildTool)) {
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index dd77c36cd02..4044403564e 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -291,6 +291,9 @@ public class Run extends CamelCommand {
@Option(names = { "--port" }, description = "Embeds a local HTTP server on this port", defaultValue = "8080")
int port;
+ @Option(names = { "--management-port" }, description = "To use a dedicated port for HTTP management")
+ int managementPort = -1;
+
@Option(names = { "--console" }, defaultValue = "false",
description = "Developer console at /q/dev on local HTTP server (port 8080 by default)")
boolean console;
@@ -698,9 +701,12 @@ public class Run extends CamelCommand {
() -> maxSeconds > 0 ? String.valueOf(maxSeconds) : null);
writeSetting(main, profileProperties, "camel.main.durationMaxIdleSeconds",
() -> maxIdleSeconds > 0 ? String.valueOf(maxIdleSeconds) : null);
- writeSetting(main, profileProperties, "camel.jbang.platform-http.port",
+ writeSetting(main, profileProperties, "camel.server.port",
() -> port > 0 && port != 8080 ? String.valueOf(port) : null);
- writeSetting(main, profileProperties, "camel.jbang.jfr", jfr || jfrProfile != null ? "jfr" : null); // TODO: "true" instead of "jfr" ?
+ if (managementPort != -1) {
+ writeSetting(main, profileProperties, "camel.management.port", () -> String.valueOf(managementPort));
+ }
+ writeSetting(main, profileProperties, "camel.jbang.jfr", jfr || jfrProfile != null ? "jfr" : null);
writeSetting(main, profileProperties, "camel.jbang.jfr-profile", jfrProfile != null ? jfrProfile : null);
writeSetting(main, profileProperties, "camel.jbang.kameletsVersion", kameletsVersion);
@@ -1032,6 +1038,7 @@ public class Run extends CamelCommand {
eq.name = this.name;
eq.verbose = this.verbose;
eq.port = this.port;
+ eq.managementPort = this.managementPort;
eq.gav = this.gav;
if (eq.gav == null) {
if (eq.name == null) {
@@ -1115,6 +1122,7 @@ public class Run extends CamelCommand {
eq.name = this.name;
eq.verbose = this.verbose;
eq.port = this.port;
+ eq.managementPort = this.managementPort;
eq.gav = this.gav;
eq.repositories = this.repositories;
if (eq.gav == null) {
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MainHttpServerFactory.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MainHttpServerFactory.java
index a596b08c03d..7f76d5722c0 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MainHttpServerFactory.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/MainHttpServerFactory.java
@@ -31,7 +31,7 @@ public class MainHttpServerFactory {
if (server == null) {
// need to capture that we use a http-server
HttpServerConfigurationProperties config = new HttpServerConfigurationProperties(null);
- CamelJBangSettingsHelper.writeSettingsIfNotExists("camel.jbang.platform-http.port",
+ CamelJBangSettingsHelper.writeSettingsIfNotExists("camel.server.port",
String.valueOf(config.getPort()));
if (!silent) {
try {
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/CamelJBangSettingsHelper.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/CamelJBangSettingsHelper.java
index 725d84fda1b..c02869fb345 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/CamelJBangSettingsHelper.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/util/CamelJBangSettingsHelper.java
@@ -24,7 +24,7 @@ import java.nio.charset.StandardCharsets;
import org.apache.camel.util.IOHelper;
/**
- * When running we need to store
+ * When running we need to store some information
*/
public final class CamelJBangSettingsHelper {