Author: davsclaus Date: Thu Apr 1 17:28:18 2010 New Revision: 930051 URL: http://svn.apache.org/viewvc?rev=930051&view=rev Log: CAMEL-2599: Fix for Spring 3.0 sending two ContextStartedEvent events instead of only one as in 2.5.
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/ProducerTemplate.java camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/ProducerTemplate.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/ProducerTemplate.java?rev=930051&r1=930050&r2=930051&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/ProducerTemplate.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/ProducerTemplate.java Thu Apr 1 17:28:18 2010 @@ -704,10 +704,7 @@ public interface ProducerTemplate extend // ----------------------------------------------------------------------- /** - * Sets the executor service to use for async messaging. - * <p/> - * If none provided Camel will default use a {...@link java.util.concurrent.ScheduledExecutorService} - * with a pool of 5 threads. + * Sets a custom executor service to use for async messaging. * * @param executorService the executor service. */ 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=930051&r1=930050&r2=930051&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 Thu Apr 1 17:28:18 2010 @@ -1374,6 +1374,11 @@ public class DefaultCamelContext extends return isStarted() && !isStarting(); } + protected void resetFirstStartDone() { + // to prevent issue with Spring 3.0 calling ContextRefreshedEvent twice instead of only once + firstStartDone = false; + } + public void setDataFormats(Map<String, DataFormatDefinition> dataFormats) { this.dataFormats = dataFormats; } Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java?rev=930051&r1=930050&r2=930051&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java (original) +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/SpringCamelContext.java Thu Apr 1 17:28:18 2010 @@ -99,6 +99,9 @@ public class SpringCamelContext extends // now lets start the CamelContext so that all its possible // dependencies are initialized try { + // must reset the first start to handle Spring 3.0 sending + // this event twice per camel context instead of only once as in 2.x + resetFirstStartDone(); maybeStart(); } catch (Exception e) { throw wrapRuntimeCamelException(e);