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 4db1eb71297 CAMEL-18425: camel-cli - Make regular Camel applications
work with Camel CLI
4db1eb71297 is described below
commit 4db1eb71297e901d1bfc9307f74119fb58990e97
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Aug 27 11:32:04 2022 +0200
CAMEL-18425: camel-cli - Make regular Camel applications work with Camel CLI
---
.../camel/impl/console/ContextDevConsole.java | 50 ++++++++++++----------
.../camel/management/ManagedCamelContextImpl.java | 4 ++
.../camel/cli/connector/LocalCliConnector.java | 6 ++-
3 files changed, 36 insertions(+), 24 deletions(-)
diff --git
a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
index 8c5e7bcbc13..c113e9e4010 100644
---
a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
+++
b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
@@ -45,18 +45,20 @@ public class ContextDevConsole extends AbstractDevConsole {
ManagedCamelContext mcc =
getCamelContext().getExtension(ManagedCamelContext.class);
if (mcc != null) {
ManagedCamelContextMBean mb = mcc.getManagedCamelContext();
- sb.append(String.format("\n Total: %s",
mb.getExchangesTotal()));
- sb.append(String.format("\n Failed: %s",
mb.getExchangesFailed()));
- sb.append(String.format("\n Inflight: %s",
mb.getExchangesInflight()));
- sb.append(String.format("\n Mean Time: %s",
TimeUtils.printDuration(mb.getMeanProcessingTime(), true)));
- sb.append(String.format("\n Max Time: %s",
TimeUtils.printDuration(mb.getMaxProcessingTime(), true)));
- sb.append(String.format("\n Min Time: %s",
TimeUtils.printDuration(mb.getMinProcessingTime(), true)));
- Date last = mb.getLastExchangeCreatedTimestamp();
- if (last != null) {
- String ago = TimeUtils.printSince(last.getTime());
- sb.append(String.format("\n Since Last: %s", ago));
+ if (mb != null) {
+ sb.append(String.format("\n Total: %s",
mb.getExchangesTotal()));
+ sb.append(String.format("\n Failed: %s",
mb.getExchangesFailed()));
+ sb.append(String.format("\n Inflight: %s",
mb.getExchangesInflight()));
+ sb.append(String.format("\n Mean Time: %s",
TimeUtils.printDuration(mb.getMeanProcessingTime(), true)));
+ sb.append(String.format("\n Max Time: %s",
TimeUtils.printDuration(mb.getMaxProcessingTime(), true)));
+ sb.append(String.format("\n Min Time: %s",
TimeUtils.printDuration(mb.getMinProcessingTime(), true)));
+ Date last = mb.getLastExchangeCreatedTimestamp();
+ if (last != null) {
+ String ago = TimeUtils.printSince(last.getTime());
+ sb.append(String.format("\n Since Last: %s", ago));
+ }
+ sb.append("\n");
}
- sb.append("\n");
}
return sb.toString();
@@ -73,19 +75,21 @@ public class ContextDevConsole extends AbstractDevConsole {
ManagedCamelContext mcc =
getCamelContext().getExtension(ManagedCamelContext.class);
if (mcc != null) {
ManagedCamelContextMBean mb = mcc.getManagedCamelContext();
- JsonObject stats = new JsonObject();
- stats.put("exchangesTotal", mb.getExchangesTotal());
- stats.put("exchangesFailed", mb.getExchangesFailed());
- stats.put("exchangesInflight", mb.getExchangesInflight());
- stats.put("meanProcessingTime", mb.getMeanProcessingTime());
- stats.put("maxProcessingTime", mb.getMaxProcessingTime());
- stats.put("minProcessingTime", mb.getMinProcessingTime());
- Date last = mb.getLastExchangeCreatedTimestamp();
- if (last != null) {
- String ago = TimeUtils.printSince(last.getTime());
- stats.put("sinceLastExchange", ago);
+ if (mb != null) {
+ JsonObject stats = new JsonObject();
+ stats.put("exchangesTotal", mb.getExchangesTotal());
+ stats.put("exchangesFailed", mb.getExchangesFailed());
+ stats.put("exchangesInflight", mb.getExchangesInflight());
+ stats.put("meanProcessingTime", mb.getMeanProcessingTime());
+ stats.put("maxProcessingTime", mb.getMaxProcessingTime());
+ stats.put("minProcessingTime", mb.getMinProcessingTime());
+ Date last = mb.getLastExchangeCreatedTimestamp();
+ if (last != null) {
+ String ago = TimeUtils.printSince(last.getTime());
+ stats.put("sinceLastExchange", ago);
+ }
+ root.put("statistics", stats);
}
- root.put("statistics", stats);
}
return root;
diff --git
a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
index abb7cd0407d..e5ca40b7119 100644
---
a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
+++
b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
@@ -122,6 +122,10 @@ public class ManagedCamelContextImpl implements
ManagedCamelContext {
if (getManagementStrategy().getManagementAgent() == null) {
return null;
}
+ // jmx must be started
+ if (getManagementStrategy().getManagementObjectNameStrategy() == null)
{
+ return null;
+ }
try {
ObjectName on =
getManagementStrategy().getManagementObjectNameStrategy()
diff --git
a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
index 755d6a1519a..b4fea6c2331 100644
---
a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
+++
b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
@@ -115,7 +115,7 @@ public class LocalCliConnector extends ServiceSupport
implements CliConnector, C
if (lockFile != null) {
statusFile = createLockFile(lockFile.getName() + "-status.json");
executor.scheduleWithFixedDelay(this::statusTask, 0, delay,
TimeUnit.MILLISECONDS);
- LOG.info("Local CLI Connector started");
+ LOG.info("Camel CLI enabled (local)");
} else {
LOG.warn("Cannot create PID file: {}. This integration cannot be
managed by Camel CLI.", getPid());
}
@@ -124,6 +124,7 @@ public class LocalCliConnector extends ServiceSupport
implements CliConnector, C
@Override
public void sigterm() {
// we are terminating
+ LOG.info("Camel CLI terminating JVM");
terminating.set(true);
try {
@@ -199,6 +200,9 @@ public class LocalCliConnector extends ServiceSupport
implements CliConnector, C
IOHelper.writeText(root.toJson(), statusFile);
} catch (Throwable e) {
// ignore
+ LOG.trace(
+ "Error updating status file: " + statusFile + " due to: "
+ e.getMessage() + ". This exception is ignored.",
+ e);
}
}