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 2011/01/05 07:38:01 UTC
svn commit: r1055309 -
/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
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);