Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x 7caa9bbdd -> 3c3bee15a
  refs/heads/master d461a3d57 -> bc11cef69


Add warn logging when updating routes with xml over jmx api failed


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f4d689c5
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f4d689c5
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f4d689c5

Branch: refs/heads/master
Commit: f4d689c5d857e7b5e2915e91b88815bb5eecb0a1
Parents: d461a3d
Author: Claus Ibsen <davscl...@apache.org>
Authored: Tue Oct 27 13:53:46 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Tue Oct 27 13:53:46 2015 +0100

----------------------------------------------------------------------
 .../management/mbean/ManagedCamelContext.java     | 16 ++++++++++++++--
 .../camel/management/mbean/ManagedRoute.java      | 18 ++++++++++++++++--
 2 files changed, 30 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/f4d689c5/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
index cd3ed4a..758d3b1 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedCamelContext.java
@@ -37,6 +37,8 @@ import javax.management.openmbean.CompositeType;
 import javax.management.openmbean.TabularData;
 import javax.management.openmbean.TabularDataSupport;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 
 import org.apache.camel.CamelContext;
@@ -69,6 +71,9 @@ import org.apache.camel.util.ObjectHelper;
  */
 @ManagedResource(description = "Managed CamelContext")
 public class ManagedCamelContext extends ManagedPerformanceCounter implements 
TimerListener, ManagedCamelContextMBean {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(ManagedCamelContext.class);
+
     private final ModelCamelContext context;
     private final LoadTriplet load = new LoadTriplet();
 
@@ -382,8 +387,15 @@ public class ManagedCamelContext extends 
ManagedPerformanceCounter implements Ti
             return;
         }
 
-        // add will remove existing route first
-        context.addRouteDefinitions(def.getRoutes());
+        try {
+            // add will remove existing route first
+            context.addRouteDefinitions(def.getRoutes());
+        } catch (Exception e) {
+            // log the error as warn as the management api may be invoked 
remotely over JMX which does not propagate such exception
+            String msg = "Error updating routes from xml: " + xml + " due: " + 
e.getMessage();
+            LOG.warn(msg, e);
+            throw e;
+        }
     }
 
     public String dumpRoutesStatsAsXml(boolean fullStats, boolean 
includeProcessors) throws Exception {

http://git-wip-us.apache.org/repos/asf/camel/blob/f4d689c5/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 2f11b41..a4722fa 100644
--- 
a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ 
b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -48,9 +48,14 @@ import org.apache.camel.model.RouteDefinition;
 import org.apache.camel.spi.ManagementStrategy;
 import org.apache.camel.spi.RoutePolicy;
 import org.apache.camel.util.ObjectHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @ManagedResource(description = "Managed Route")
 public class ManagedRoute extends ManagedPerformanceCounter implements 
TimerListener, ManagedRouteMBean {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(ManagedRoute.class);
+
     public static final String VALUE_UNKNOWN = "Unknown";
     protected final Route route;
     protected final String description;
@@ -275,8 +280,17 @@ public class ManagedRoute extends 
ManagedPerformanceCounter implements TimerList
                     + getRouteId() + ", routeId from XML: " + def.getId());
         }
 
-        // add will remove existing route first
-        context.addRouteDefinition(def);
+        LOG.debug("Updating route: {} from xml: {}", def.getId(), xml);
+
+        try {
+            // add will remove existing route first
+            context.addRouteDefinition(def);
+        } catch (Exception e) {
+            // log the error as warn as the management api may be invoked 
remotely over JMX which does not propagate such exception
+            String msg = "Error updating route: " + def.getId() + " from xml: 
" + xml + " due: " + e.getMessage();
+            LOG.warn(msg, e);
+            throw e;
+        }
     }
 
     public String dumpRouteStatsAsXml(boolean fullStats, boolean 
includeProcessors) throws Exception {

Reply via email to