Author: davsclaus Date: Wed Aug 22 08:16:46 2012 New Revision: 1375937 URL: http://svn.apache.org/viewvc?rev=1375937&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/branches/camel-2.10.x/ (props changed) camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1375936 Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java?rev=1375937&r1=1375936&r2=1375937&view=diff ============================================================================== --- camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java (original) +++ camel/branches/camel-2.10.x/camel-core/src/main/java/org/apache/camel/management/DefaultManagementStrategy.java Wed Aug 22 08:16:46 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;