Author: davsclaus
Date: Wed Jan  5 06:38:01 2011
New Revision: 1055309

URL: http://svn.apache.org/viewvc?rev=1055309&view=rev
Log:
CAMEL-3493: synchronized when adding or removing route definitions, to avoid 
concurrency issues if doing this from multiple threads

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java?rev=1055309&r1=1055308&r2=1055309&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 Wed Jan  5 06:38:01 2011
@@ -640,7 +640,7 @@ public class DefaultCamelContext extends
         return answer;
     }
 
-    public void addRouteDefinitions(Collection<RouteDefinition> 
routeDefinitions) throws Exception {
+    public synchronized void addRouteDefinitions(Collection<RouteDefinition> 
routeDefinitions) throws Exception {
         for (RouteDefinition routeDefinition : routeDefinitions) {
             removeRouteDefinition(routeDefinition);
         }
@@ -672,14 +672,14 @@ public class DefaultCamelContext extends
         return answer;
     }
 
-    public void removeRouteDefinitions(Collection<RouteDefinition> 
routeDefinitions) throws Exception {
+    public synchronized void 
removeRouteDefinitions(Collection<RouteDefinition> routeDefinitions) throws 
Exception {
         this.routeDefinitions.removeAll(routeDefinitions);
         for (RouteDefinition routeDefinition : routeDefinitions) {
             removeRouteDefinition(routeDefinition);
         }
     }
 
-    public void removeRouteDefinition(RouteDefinition routeDefinition) throws 
Exception {
+    public synchronized void removeRouteDefinition(RouteDefinition 
routeDefinition) throws Exception {
         String id = routeDefinition.idOrCreate(nodeIdFactory);
         stopRoute(id);
         removeRoute(id);


Reply via email to