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 2010/03/19 14:17:16 UTC

svn commit: r925208 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java

Author: davsclaus
Date: Fri Mar 19 13:17:16 2010
New Revision: 925208

URL: http://svn.apache.org/viewvc?rev=925208&view=rev
Log:
CANMEL-1588: threadPool in Spring XML requires thread name.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java?rev=925208&r1=925207&r2=925208&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java Fri Mar 19 13:17:16 2010
@@ -28,6 +28,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.spi.ExecutorServiceStrategy;
 import org.apache.camel.spi.LifecycleStrategy;
 import org.apache.camel.spi.ThreadPoolProfile;
+import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.concurrent.ExecutorServiceHelper;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -145,6 +146,10 @@ public class DefaultExecutorServiceStrat
     public ExecutorService newThreadPool(Object source, String name, int corePoolSize, int maxPoolSize, long keepAliveTime,
                                          TimeUnit timeUnit, int maxQueueSize, RejectedExecutionHandler rejectedExecutionHandler,
                                          boolean daemon) {
+
+        // the thread name must not be null
+        ObjectHelper.notNull(name, "ThreadName");
+
         ExecutorService answer = ExecutorServiceHelper.newThreadPool(threadNamePattern, name, corePoolSize, maxPoolSize, keepAliveTime,
                                                                      timeUnit, maxQueueSize, rejectedExecutionHandler, daemon);
         onThreadPoolCreated(answer);

Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java?rev=925208&r1=925207&r2=925208&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelThreadPoolFactoryBean.java Fri Mar 19 13:17:16 2010
@@ -60,7 +60,7 @@ public class CamelThreadPoolFactoryBean 
     private Integer maxQueueSize = -1;
     @XmlAttribute
     private ThreadPoolRejectedPolicy rejectedPolicy = ThreadPoolRejectedPolicy.CallerRuns;
-    @XmlAttribute
+    @XmlAttribute(required = true)
     private String threadName;
     @XmlAttribute
     private Boolean daemon = Boolean.TRUE;
@@ -81,15 +81,13 @@ public class CamelThreadPoolFactoryBean 
             throw new IllegalArgumentException("PoolSize must be a positive number");
         }
 
-        String name = getThreadName() != null ? getThreadName() : getId();
-
         int max = getMaxPoolSize() != null ? getMaxPoolSize() : getPoolSize();
         RejectedExecutionHandler rejected = null;
         if (rejectedPolicy != null) {
             rejected = rejectedPolicy.asRejectedExecutionHandler();
         }
 
-        ExecutorService answer = camelContext.getExecutorServiceStrategy().newThreadPool(getId(), name, getPoolSize(), max,
+        ExecutorService answer = camelContext.getExecutorServiceStrategy().newThreadPool(getId(), getThreadName(), getPoolSize(), max,
                     getKeepAliveTime(), getTimeUnit(), getMaxQueueSize(), rejected, isDaemon());
         return answer;
     }