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 <claus.ib...@gmail.com>
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);
         }
     }
 

Reply via email to