Author: jstrachan Date: Wed Aug 22 08:11:31 2012 New Revision: 1375936 URL: http://svn.apache.org/viewvc?rev=1375936&view=rev Log: allow eventNotifiers to be added asynchronously to a CamelContext while a context is starting up to avoid the dreaded ConcurrentModificationException being thrown, fixes CAMEL-5531
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java?rev=1375936&r1=1375935&r2=1375936&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Wed Aug 22 08:11:31 2012 @@ -16,9 +16,9 @@ */ package org.apache.camel.management; -import java.util.ArrayList; import java.util.EventObject; import java.util.List; +import java.util.concurrent.CopyOnWriteArrayList; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; @@ -50,7 +50,7 @@ import org.apache.camel.util.ServiceHelp */ public class DefaultManagementStrategy implements ManagementStrategy, CamelContextAware { - private List<EventNotifier> eventNotifiers = new ArrayList<EventNotifier>(); + private List<EventNotifier> eventNotifiers = new CopyOnWriteArrayList<EventNotifier>(); private EventFactory eventFactory = new DefaultEventFactory(); private ManagementNamingStrategy managementNamingStrategy; private ManagementObjectStrategy managementObjectStrategy;