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;
     }


Reply via email to