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 2022/11/21 10:33:04 UTC

[camel] branch main updated (fb0102527d1 -> f732fd60e53)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


    from fb0102527d1 CAMEL-18718: camel-javascript
     new 0d509062493 camel-jbang - Update docs
     new 4d2659efa05 CAMEL-18732: camel-micrometer - Include description of metrics
     new 5027f532f07 CAMEL-18733: camel-micrometer - name clash in route policy
     new 915a12f804e CAMEL-18727: camel-jbang - get micrometer to filter out Camel route metrics
     new f732fd60e53 CAMEL-18733: camel-micrometer - Lets keep original name until we come up with a better solution.

The 5 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.


Summary of changes:
 .../component/micrometer/MicrometerConstants.java  |  1 +
 .../routepolicy/MicrometerRoutePolicy.java         | 21 ++++---
 .../MicrometerRoutePolicyNamingStrategy.java       | 22 +++++---
 .../modules/ROOT/pages/camel-jbang.adoc            | 17 ++++--
 .../core/commands/process/ListMicrometer.java      | 65 ++++++++++++++++++++--
 5 files changed, 98 insertions(+), 28 deletions(-)


[camel] 02/05: CAMEL-18732: camel-micrometer - Include description of metrics

Posted by da...@apache.org.
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

commit 4d2659efa056352f5938cb8b9220835b203b1903
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Nov 20 11:18:48 2022 +0100

    CAMEL-18732: camel-micrometer - Include description of metrics
---
 .../component/micrometer/MicrometerConstants.java  |  1 +
 .../routepolicy/MicrometerRoutePolicy.java         | 21 ++++++++++++---------
 .../MicrometerRoutePolicyNamingStrategy.java       | 22 ++++++++++++++--------
 3 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
index 6efcc9e796a..929fcd4627f 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
@@ -55,6 +55,7 @@ public final class MicrometerConstants {
     public static final String DEFAULT_CAMEL_ROUTES_EXCHANGES_INFLIGHT = "CamelExchangesInflight";
 
     public static final String ROUTE_ID_TAG = "routeId";
+    public static final String ROUTE_DESCRIPTION_TAG = "routeDescription";
     public static final String NODE_ID_TAG = "nodeId";
     public static final String FAILED_TAG = "failed";
     public static final String CAMEL_CONTEXT_TAG = "camelContext";
diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
index 811770a9206..e199b6b2e87 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
@@ -64,11 +64,14 @@ public class MicrometerRoutePolicy extends RoutePolicySupport implements NonMana
             this.meterRegistry = ObjectHelper.notNull(meterRegistry, "MeterRegistry", this);
             this.namingStrategy = ObjectHelper.notNull(namingStrategy, "MicrometerRoutePolicyNamingStrategy", this);
             this.route = route;
-            this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route));
-            this.exchangesFailed = createCounter(namingStrategy.getExchangesFailedName(route));
-            this.exchangesTotal = createCounter(namingStrategy.getExchangesTotalName(route));
-            this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route));
-            this.failuresHandled = createCounter(namingStrategy.getFailuresHandledName(route));
+            this.exchangesSucceeded = createCounter(namingStrategy.getExchangesSucceededName(route),
+                    "Number of successfully completed exchanges");
+            this.exchangesFailed = createCounter(namingStrategy.getExchangesFailedName(route), "Number of failed exchanges");
+            this.exchangesTotal
+                    = createCounter(namingStrategy.getExchangesTotalName(route), "Total number of processed exchanges");
+            this.externalRedeliveries = createCounter(namingStrategy.getExternalRedeliveriesName(route),
+                    "Number of external initiated redeliveries (such as from JMS broker)");
+            this.failuresHandled = createCounter(namingStrategy.getFailuresHandledName(route), "Number of failures handled");
         }
 
         public void onExchangeBegin(Exchange exchange) {
@@ -80,8 +83,8 @@ public class MicrometerRoutePolicy extends RoutePolicySupport implements NonMana
             Timer.Sample sample = (Timer.Sample) exchange.removeProperty(propertyName(exchange));
             if (sample != null) {
                 Timer timer = Timer.builder(namingStrategy.getName(route))
-                        .tags(namingStrategy.getTags(route, exchange))
-                        .description(route.getDescription())
+                        .tags(namingStrategy.getTags(route))
+                        .description("Route performance metrics")
                         .register(meterRegistry);
                 sample.stop(timer);
             }
@@ -107,10 +110,10 @@ public class MicrometerRoutePolicy extends RoutePolicySupport implements NonMana
             return String.format("%s-%s-%s", DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME, route.getId(), exchange.getExchangeId());
         }
 
-        private Counter createCounter(String meterName) {
+        private Counter createCounter(String meterName, String description) {
             return Counter.builder(meterName)
                     .tags(namingStrategy.getExchangeStatusTags(route))
-                    .description(route.getDescription())
+                    .description(description)
                     .register(meterRegistry);
         }
     }
diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java
index 9310d6a7f56..5c1077cca24 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyNamingStrategy.java
@@ -20,7 +20,6 @@ import java.util.function.Predicate;
 
 import io.micrometer.core.instrument.Meter;
 import io.micrometer.core.instrument.Tags;
-import org.apache.camel.Exchange;
 import org.apache.camel.Route;
 
 import static org.apache.camel.component.micrometer.MicrometerConstants.CAMEL_CONTEXT_TAG;
@@ -30,7 +29,7 @@ import static org.apache.camel.component.micrometer.MicrometerConstants.DEFAULT_
 import static org.apache.camel.component.micrometer.MicrometerConstants.DEFAULT_CAMEL_ROUTE_POLICY_EXCHANGES_SUCCEEDED_METER_NAME;
 import static org.apache.camel.component.micrometer.MicrometerConstants.DEFAULT_CAMEL_ROUTE_POLICY_EXCHANGES_TOTAL_METER_NAME;
 import static org.apache.camel.component.micrometer.MicrometerConstants.DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME;
-import static org.apache.camel.component.micrometer.MicrometerConstants.FAILED_TAG;
+import static org.apache.camel.component.micrometer.MicrometerConstants.ROUTE_DESCRIPTION_TAG;
 import static org.apache.camel.component.micrometer.MicrometerConstants.ROUTE_ID_TAG;
 import static org.apache.camel.component.micrometer.MicrometerConstants.SERVICE_NAME;
 
@@ -66,12 +65,19 @@ public interface MicrometerRoutePolicyNamingStrategy {
         return DEFAULT_CAMEL_ROUTE_POLICY_EXCHANGES_EXTERNAL_REDELIVERIES_METER_NAME;
     }
 
-    default Tags getTags(Route route, Exchange exchange) {
-        return Tags.of(
-                CAMEL_CONTEXT_TAG, route.getCamelContext().getName(),
-                SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName(),
-                ROUTE_ID_TAG, route.getId(),
-                FAILED_TAG, Boolean.toString(exchange.isFailed()));
+    default Tags getTags(Route route) {
+        if (route.getRouteDescription() != null) {
+            return Tags.of(
+                    CAMEL_CONTEXT_TAG, route.getCamelContext().getName(),
+                    SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName(),
+                    ROUTE_ID_TAG, route.getId(),
+                    ROUTE_DESCRIPTION_TAG, route.getRouteDescription());
+        } else {
+            return Tags.of(
+                    CAMEL_CONTEXT_TAG, route.getCamelContext().getName(),
+                    SERVICE_NAME, MicrometerRoutePolicyService.class.getSimpleName(),
+                    ROUTE_ID_TAG, route.getId());
+        }
     }
 
     default Tags getExchangeStatusTags(Route route) {


[camel] 01/05: camel-jbang - Update docs

Posted by da...@apache.org.
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

commit 0d509062493adc204bdfd7d965771cf562853a4a
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Nov 20 10:32:24 2022 +0100

    camel-jbang - Update docs
---
 docs/user-manual/modules/ROOT/pages/camel-jbang.adoc | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
index 11e6b82ac95..16dace4c5e7 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang.adoc
@@ -1084,14 +1084,20 @@ You can use the following Quarkus annotations:
 
 === Debugging
 
+There are two kinds of debugging:
+
+* _Java debugging_ - Java code debugging (Standard Java)
+* _Camel route debugging_ - Debugging Camel routes (requires Camel tooling plugins)
+
 ==== Java debugging
 
-You can debug both Camel JBang and your integration scripts by making use of the `--debug` flag provided by JBang:
+You can debug your integration scripts by making use of the `--debug` flag provided by JBang.
+However, due to Java debugging must be enabled when starting the JVM, then you must do this
+using the `jbang` command, instead of `camel` as shown:
 
 [source,bash]
 ----
-camel --debug run /path/to/integration.java
-[jbang] Building jar...
+jbang --debug  camel@apache/camel run hello.yaml
 Listening for transport dt_socket at address: 4004
 ----
 
@@ -1099,9 +1105,9 @@ As you can see the default listening port is 4004 but can be configured as descr
 
 This is a standard Java debug socket. You can then use the IDE of your choice. For instance, see the generic documentation for https://www.jetbrains.com/help/idea/attaching-to-local-process.html#create-rc[IntelliJ], https://code.visualstudio.com/docs/java/java-debugging#_attach[VS Code] and https://www.vogella.com/tutorials/EclipseDebugging/article.html#remote-debugging[Eclipse Desktop]. You will surely want to add `Processor` to be able to put breakpoints hit during route execution (as  [...]
 
-==== Camel debugging
+==== Camel route debugging
 
-The Camel debugger is available by default (the `camel-debug` component is automatically added to the classpath). By default, it can be reached through JMX at the URL `service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel`.
+The Camel route debugger is available by default (the `camel-debug` component is automatically added to the classpath). By default, it can be reached through JMX at the URL `service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi/camel`.
 
 You can then use the Integrated Development Environment (IDE) of your choice. For instance https://plugins.jetbrains.com/plugin/9371-apache-camel[IntelliJ], https://marketplace.visualstudio.com/items?itemName=redhat.vscode-debug-adapter-apache-camel[VS Code] or https://marketplace.eclipse.org/content/textual-debugging-apache-camel[Eclipse Desktop].
 
@@ -1111,7 +1117,6 @@ A specific how-to is available for VS Code, see this https://youtu.be/owNhWxf42q
 
 The status of health checks can be accessed via Camel JBang from the CLI as follows:
 
-
 [source,bash]
 ----
 camel get health


[camel] 04/05: CAMEL-18727: camel-jbang - get micrometer to filter out Camel route metrics

Posted by da...@apache.org.
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

commit 915a12f804ea64c5b6f34f8a4b17b30a0e054f7f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 21 11:30:33 2022 +0100

    CAMEL-18727: camel-jbang - get micrometer to filter out Camel route metrics
---
 .../core/commands/process/ListMicrometer.java      | 65 ++++++++++++++++++++--
 1 file changed, 60 insertions(+), 5 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListMicrometer.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListMicrometer.java
index 5c37eb718ae..d6ce999bb4c 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListMicrometer.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListMicrometer.java
@@ -18,6 +18,8 @@ package org.apache.camel.dsl.jbang.core.commands.process;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 import com.github.freva.asciitable.AsciiTable;
@@ -42,6 +44,14 @@ public class ListMicrometer extends ProcessBaseCommand {
                         description = "Sort by pid, name or age", defaultValue = "pid")
     String sort;
 
+    @CommandLine.Option(names = { "--filter" },
+            description = "Filter metric by type or name")
+    String filter;
+
+    @CommandLine.Option(names = { "--custom" },
+            description = "Only show custom metrics", defaultValue = "false")
+    boolean custom;
+
     public ListMicrometer(CamelJBangMain main) {
         super(main);
     }
@@ -81,8 +91,15 @@ public class ListMicrometer extends ProcessBaseCommand {
                                     row.type = "counter";
                                     row.metricName = jo.getString("name");
                                     row.metricDescription = jo.getString("description");
+                                    row.metricRouteId = extractRouteId(jo);
                                     row.count = jo.getDouble("count");
-                                    rows.add(row);
+
+                                    if (custom && row.metricName.startsWith("Camel")) {
+                                        continue; // skip internal camel metrics
+                                    }
+                                    if (filter == null || row.type.equals(filter) || row.metricName.contains(filter)) {
+                                        rows.add(row);
+                                    }
                                 }
                             }
                             arr = (JsonArray) mo.get("timers");
@@ -93,11 +110,18 @@ public class ListMicrometer extends ProcessBaseCommand {
                                     row.type = "timer";
                                     row.metricName = jo.getString("name");
                                     row.metricDescription = jo.getString("description");
+                                    row.metricRouteId = extractRouteId(jo);
                                     row.count = jo.getDouble("count");
                                     row.mean = jo.getDouble("mean");
                                     row.max = jo.getDouble("max");
                                     row.total = jo.getDouble("total");
-                                    rows.add(row);
+
+                                    if (custom && row.metricName.startsWith("Camel")) {
+                                        continue; // skip internal camel metrics
+                                    }
+                                    if (filter == null || row.type.equals(filter) || row.metricName.contains(filter)) {
+                                        rows.add(row);
+                                    }
                                 }
                             }
                             arr = (JsonArray) mo.get("gauges");
@@ -108,8 +132,15 @@ public class ListMicrometer extends ProcessBaseCommand {
                                     row.type = "gauge";
                                     row.metricName = jo.getString("name");
                                     row.metricDescription = jo.getString("description");
+                                    row.metricRouteId = extractRouteId(jo);
                                     row.count = jo.getDouble("value");
-                                    rows.add(row);
+
+                                    if (custom && row.metricName.startsWith("Camel")) {
+                                        continue; // skip internal camel metrics
+                                    }
+                                    if (filter == null || row.type.equals(filter) || row.metricName.contains(filter)) {
+                                        rows.add(row);
+                                    }
                                 }
                             }
                             arr = (JsonArray) mo.get("distribution");
@@ -120,11 +151,18 @@ public class ListMicrometer extends ProcessBaseCommand {
                                     row.type = "distribution";
                                     row.metricName = jo.getString("name");
                                     row.metricDescription = jo.getString("description");
+                                    row.metricRouteId = extractRouteId(jo);
                                     row.count = jo.getDouble("value");
                                     row.mean = jo.getDouble("mean");
                                     row.max = jo.getDouble("max");
                                     row.total = jo.getDouble("totalAmount");
-                                    rows.add(row);
+
+                                    if (custom && row.metricName.startsWith("Camel")) {
+                                        continue; // skip internal camel metrics
+                                    }
+                                    if (filter == null || row.type.equals(filter) || row.metricName.contains(filter)) {
+                                        rows.add(row);
+                                    }
                                 }
                             }
                         }
@@ -140,7 +178,10 @@ public class ListMicrometer extends ProcessBaseCommand {
                     new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).maxWidth(30, OverflowBehaviour.ELLIPSIS_RIGHT)
                             .with(r -> r.name),
                     new Column().header("TYPE").dataAlign(HorizontalAlign.LEFT).with(r -> r.type),
-                    new Column().header("NAME").dataAlign(HorizontalAlign.LEFT).with(r -> r.metricName),
+                    new Column().header("METRIC").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
+                            .with(r -> r.metricName),
+                    new Column().header("ROUTE").dataAlign(HorizontalAlign.LEFT).maxWidth(25, OverflowBehaviour.ELLIPSIS_RIGHT)
+                            .with(r -> r.metricRouteId),
                     new Column().header("VALUE").headerAlign(HorizontalAlign.RIGHT).dataAlign(HorizontalAlign.RIGHT)
                             .with(r -> getNumber(r.count)),
                     new Column().header("MEAN").headerAlign(HorizontalAlign.RIGHT).dataAlign(HorizontalAlign.RIGHT)
@@ -183,6 +224,19 @@ public class ListMicrometer extends ProcessBaseCommand {
         return s;
     }
 
+    private String extractRouteId(JsonObject jo) {
+        List<JsonObject> tags = jo.getCollection("tags");
+        if (tags != null) {
+            for (JsonObject t : tags) {
+                String k = t.getString("key");
+                if ("routeId".equals(k)) {
+                    return t.getString("value");
+                }
+            }
+        }
+        return null;
+    }
+
     private static class Row implements Cloneable {
         String pid;
         String name;
@@ -191,6 +245,7 @@ public class ListMicrometer extends ProcessBaseCommand {
         String type;
         String metricName;
         String metricDescription;
+        String metricRouteId;
         double count;
         double mean;
         double max;


[camel] 05/05: CAMEL-18733: camel-micrometer - Lets keep original name until we come up with a better solution.

Posted by da...@apache.org.
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

commit f732fd60e533ffdab22d9d7a4431d69875d29186
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 21 11:32:53 2022 +0100

    CAMEL-18733: camel-micrometer - Lets keep original name until we come up with a better solution.
---
 .../java/org/apache/camel/component/micrometer/MicrometerConstants.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
index a473bd34de2..929fcd4627f 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
@@ -48,7 +48,7 @@ public final class MicrometerConstants {
             = "CamelExchangesFailuresHandled";
     public static final String DEFAULT_CAMEL_ROUTE_POLICY_EXCHANGES_EXTERNAL_REDELIVERIES_METER_NAME
             = "CamelExchangesExternalRedeliveries";
-    public static final String DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME = "CamelRoute";
+    public static final String DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME = "CamelRoutePolicy";
     public static final String DEFAULT_CAMEL_EXCHANGE_EVENT_METER_NAME = "CamelExchangeEventNotifier";
     public static final String DEFAULT_CAMEL_ROUTES_ADDED = "CamelRoutesAdded";
     public static final String DEFAULT_CAMEL_ROUTES_RUNNING = "CamelRoutesRunning";


[camel] 03/05: CAMEL-18733: camel-micrometer - name clash in route policy

Posted by da...@apache.org.
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

commit 5027f532f07ea352bb49ae3402444b7d9959ed67
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sun Nov 20 11:27:09 2022 +0100

    CAMEL-18733: camel-micrometer - name clash in route policy
---
 .../java/org/apache/camel/component/micrometer/MicrometerConstants.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
index 929fcd4627f..a473bd34de2 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConstants.java
@@ -48,7 +48,7 @@ public final class MicrometerConstants {
             = "CamelExchangesFailuresHandled";
     public static final String DEFAULT_CAMEL_ROUTE_POLICY_EXCHANGES_EXTERNAL_REDELIVERIES_METER_NAME
             = "CamelExchangesExternalRedeliveries";
-    public static final String DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME = "CamelRoutePolicy";
+    public static final String DEFAULT_CAMEL_ROUTE_POLICY_METER_NAME = "CamelRoute";
     public static final String DEFAULT_CAMEL_EXCHANGE_EVENT_METER_NAME = "CamelExchangeEventNotifier";
     public static final String DEFAULT_CAMEL_ROUTES_ADDED = "CamelRoutesAdded";
     public static final String DEFAULT_CAMEL_ROUTES_RUNNING = "CamelRoutesRunning";