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); } }