Author: davsclaus
Date: Fri Mar 12 08:57:30 2010
New Revision: 922185

URL: http://svn.apache.org/viewvc?rev=922185&view=rev
Log:
CAMEL-1588: Provide source info to executor service strategy so we in the 
future can have pattern based configuration.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RecipientListDefinition.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceStrategy.java
    
camel/trunk/camel-core/src/main/java/org/apache/camel/util/concurrent/ExecutorServiceHelper.java
    
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
    
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosProducer.java
    
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
    
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
 Fri Mar 12 08:57:30 2010
@@ -171,7 +171,7 @@ public class SedaConsumer extends Servic
             }
 
             ExecutorService multicastExecutor = 
endpoint.getCamelContext().getExecutorServiceStrategy()
-                                                    
.newFixedThreadPool(endpoint.getEndpointUri() + "(multicast)", size);
+                                                    .newFixedThreadPool(this, 
endpoint.getEndpointUri() + "(multicast)", size);
             multicast = new MulticastProcessor(endpoint.getCamelContext(), 
processors, null, true, multicastExecutor, false, false);
         }
         return multicast;
@@ -180,7 +180,7 @@ public class SedaConsumer extends Servic
     protected void doStart() throws Exception {
         int poolSize = endpoint.getConcurrentConsumers();
         executor = endpoint.getCamelContext().getExecutorServiceStrategy()
-                        .newFixedThreadPool(endpoint.getEndpointUri(), 
poolSize);
+                        .newFixedThreadPool(this, endpoint.getEndpointUri(), 
poolSize);
         for (int i = 0; i < poolSize; i++) {
             executor.execute(this);
         }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultComponent.java
 Fri Mar 12 08:57:30 2010
@@ -195,7 +195,7 @@ public abstract class DefaultComponent e
      */
     protected ScheduledExecutorService createScheduledExecutorService() {
         String name = getClass().getSimpleName();
-        return 
getCamelContext().getExecutorServiceStrategy().newScheduledThreadPool(name, 
DEFAULT_THREADPOOL_SIZE);
+        return 
getCamelContext().getExecutorServiceStrategy().newScheduledThreadPool(this, 
name, DEFAULT_THREADPOOL_SIZE);
     }
 
     protected void doStart() throws Exception {

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java 
Fri Mar 12 08:57:30 2010
@@ -196,7 +196,7 @@ public abstract class DefaultEndpoint im
     }
 
     protected ScheduledExecutorService createScheduledExecutorService() {
-        return 
getCamelContext().getExecutorServiceStrategy().newScheduledThreadPool(getEndpointUri(),
 DEFAULT_THREADPOOL_SIZE);
+        return 
getCamelContext().getExecutorServiceStrategy().newScheduledThreadPool(this, 
getEndpointUri(), DEFAULT_THREADPOOL_SIZE);
     }
 
     public void configureProperties(Map<String, Object> options) {

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=922185&r1=922184&r2=922185&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 12 08:57:30 2010
@@ -49,31 +49,31 @@ public class DefaultExecutorServiceStrat
         this.threadNamePattern = threadNamePattern;
     }
 
-    public ExecutorService lookup(String executorServiceRef) {
+    public ExecutorService lookup(Object source, String executorServiceRef) {
         return camelContext.getRegistry().lookup(executorServiceRef, 
ExecutorService.class);
     }
 
-    public ExecutorService newCachedThreadPool(String name) {
+    public ExecutorService newCachedThreadPool(Object source, String name) {
         return ExecutorServiceHelper.newCachedThreadPool(getThreadName(name), 
true);
     }
 
-    public ScheduledExecutorService newScheduledThreadPool(String name, int 
poolSize) {
+    public ScheduledExecutorService newScheduledThreadPool(Object source, 
String name, int poolSize) {
         return ExecutorServiceHelper.newScheduledThreadPool(poolSize, 
getThreadName(name), true);
     }
 
-    public ExecutorService newFixedThreadPool(String name, int poolSize) {
+    public ExecutorService newFixedThreadPool(Object source, String name, int 
poolSize) {
         return ExecutorServiceHelper.newFixedThreadPool(poolSize, 
getThreadName(name), true);
     }
 
-    public ExecutorService newSingleThreadExecutor(String name) {
+    public ExecutorService newSingleThreadExecutor(Object source, String name) 
{
         return 
ExecutorServiceHelper.newSingleThreadExecutor(getThreadName(name), true);
     }
 
-    public ExecutorService newThreadPool(String name, int corePoolSize, int 
maxPoolSize) {
+    public ExecutorService newThreadPool(Object source, String name, int 
corePoolSize, int maxPoolSize) {
         return ExecutorServiceHelper.newThreadPool(getThreadName(name), 
corePoolSize, maxPoolSize);
     }
 
-    public ExecutorService newThreadPool(String name, int corePoolSize, int 
maxPoolSize, long keepAliveTime, TimeUnit timeUnit, boolean daemon) {
+    public ExecutorService newThreadPool(Object source, String name, int 
corePoolSize, int maxPoolSize, long keepAliveTime, TimeUnit timeUnit, boolean 
daemon) {
         return ExecutorServiceHelper.newThreadPool(getThreadName(name), 
corePoolSize, maxPoolSize, keepAliveTime, timeUnit, daemon);
     }
 

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultProducerTemplate.java
 Fri Mar 12 08:57:30 2010
@@ -53,7 +53,7 @@ public class DefaultProducerTemplate ext
     public DefaultProducerTemplate(CamelContext context) {
         this.context = context;
         this.producerCache = new ProducerCache(context);
-        this.executor = 
context.getExecutorServiceStrategy().newCachedThreadPool("ProducerTemplate");
+        this.executor = 
context.getExecutorServiceStrategy().newCachedThreadPool(this, 
"ProducerTemplate");
     }
 
     public DefaultProducerTemplate(CamelContext context, ExecutorService 
executor) {
@@ -682,7 +682,7 @@ public class DefaultProducerTemplate ext
         super.start();
         ServiceHelper.startService(producerCache);
         if (executor == null || executor.isShutdown()) {
-            executor = 
context.getExecutorServiceStrategy().newCachedThreadPool("ProducerTemplate");
+            executor = 
context.getExecutorServiceStrategy().newCachedThreadPool(this, 
"ProducerTemplate");
         }
     }
 

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
 Fri Mar 12 08:57:30 2010
@@ -233,7 +233,7 @@ public class DefaultShutdownStrategy ext
 
     private ExecutorService getExecutorService() {
         if (executor == null) {
-            executor = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor("ShutdownTask");
+            executor = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor(this, 
"ShutdownTask");
         }
         return executor;
     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
 Fri Mar 12 08:57:30 2010
@@ -58,7 +58,7 @@ public abstract class ScheduledPollConsu
             scheduled = (ScheduledExecutorService) service;
         } else {
             scheduled = endpoint.getCamelContext().getExecutorServiceStrategy()
-                            
.newScheduledThreadPool(getEndpoint().getEndpointUri(), 
DEFAULT_THREADPOOL_SIZE);
+                            .newScheduledThreadPool(this, 
getEndpoint().getEndpointUri(), DEFAULT_THREADPOOL_SIZE);
         }
 
         this.executor = scheduled;

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/management/DefaultManagementAgent.java
 Fri Mar 12 08:57:30 2010
@@ -412,7 +412,7 @@ public class DefaultManagementAgent exte
 
         if (executorService == null) {
             // we only need a single for the JMX connector
-            executorService = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor("JMXConnector:
 " + url);
+            executorService = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor(this, 
"JMXConnector: " + url);
         }
 
         // execute the JMX connector

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RecipientListDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RecipientListDefinition.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RecipientListDefinition.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/RecipientListDefinition.java
 Fri Mar 12 08:57:30 2010
@@ -101,7 +101,7 @@ public class RecipientListDefinition ext
         executorService = 
ExecutorServiceHelper.getConfiguredExecutorService(routeContext, this);
         if (executorService == null) {
             // fallback to create a new executor
-            executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("RecipientList");
+            executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "RecipientList");
         }
         answer.setExecutorService(executorService);
 

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/SplitDefinition.java
 Fri Mar 12 08:57:30 2010
@@ -91,7 +91,7 @@ public class SplitDefinition extends Exp
         executorService = 
ExecutorServiceHelper.getConfiguredExecutorService(routeContext, this);
         if (executorService == null) {
             // fallback to create a new executor
-            executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("Split");
+            executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "Split");
         }
 
         Expression exp = getExpression().createExpression(routeContext);

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
 Fri Mar 12 08:57:30 2010
@@ -69,12 +69,12 @@ public class ThreadsDefinition extends O
             String name = getThreadName() != null ? getThreadName() : 
"Threads";
             if (poolSize == null || poolSize <= 0) {
                 // use the cached thread pool
-                executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(name);
+                executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 name);
             } else {
                 // use a custom pool based on the settings
                 int max = getMaxPoolSize() != null ? getMaxPoolSize() : 
poolSize;
                 executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy()
-                                        .newThreadPool(name, poolSize, max, 
getKeepAliveTime(), getUnits(), true);
+                                        .newThreadPool(this, name, poolSize, 
max, getKeepAliveTime(), getUnits(), true);
             }
         }
         Processor childProcessor = routeContext.createProcessor(this);

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java 
(original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/model/ToDefinition.java 
Fri Mar 12 08:57:30 2010
@@ -94,7 +94,7 @@ public class ToDefinition extends SendDe
         if (executorService == null && poolSize != null) {
             // crete a new based on the other options
             executorService = 
routeContext.getCamelContext().getExecutorServiceStrategy()
-                                .newThreadPool("ToAsync[" + getLabel() + "]", 
poolSize, poolSize);
+                                .newThreadPool(this, "ToAsync[" + getLabel() + 
"]", poolSize, poolSize);
         }
 
         // create the child processor which is the async route

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/MulticastProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -128,7 +128,7 @@ public class MulticastProcessor extends 
         this.stopOnException = stopOnException;
 
         if (isParallelProcessing() && getExecutorService() == null) {
-            this.executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool("Multicast");
+            this.executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(this, 
"Multicast");
         }
     }
 

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/OnCompletionProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -182,7 +182,7 @@ public class OnCompletionProcessor exten
     }
 
     protected ExecutorService createExecutorService() {
-        return 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(this.toString());
+        return 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(this, 
this.toString());
     }
 
     public void setExecutorService(ExecutorService executorService) {

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/SendAsyncProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -165,7 +165,7 @@ public class SendAsyncProcessor extends 
     public ExecutorService getExecutorService() {
         if (executorService == null) {
             executorService = 
destination.getCamelContext().getExecutorServiceStrategy()
-                                .newThreadPool("SendAsyncProcessor-Consumer", 
poolSize, poolSize);
+                                .newThreadPool(this, 
"SendAsyncProcessor-Consumer", poolSize, poolSize);
         }
         return executorService;
     }
@@ -183,7 +183,7 @@ public class SendAsyncProcessor extends 
         if (producerExecutorService == null) {
             // use a cached pool for the producers which can grow/schrink 
itself
             producerExecutorService = 
destination.getCamelContext().getExecutorServiceStrategy()
-                                        
.newCachedThreadPool("SendAsyncProcessor-Producer");
+                                        .newCachedThreadPool(this, 
"SendAsyncProcessor-Producer");
         }
         return producerExecutorService;
     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/ThreadsProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -103,7 +103,7 @@ public class ThreadsProcessor extends De
 
     public ExecutorService getExecutorService() {
         if (executorService == null) {
-            executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool("Threads");
+            executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(this, "Threads");
         }
         return executorService;
     }

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/WireTapProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -160,7 +160,7 @@ public class WireTapProcessor extends Se
     }
 
     protected ExecutorService createExecutorService() {
-        return 
getDestination().getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this.toString());
+        return 
getDestination().getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 this.toString());
     }
 
     public void setExecutorService(ExecutorService executorService) {

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/processor/aggregate/AggregateProcessor.java
 Fri Mar 12 08:57:30 2010
@@ -475,16 +475,16 @@ public class AggregateProcessor extends 
         if (executorService == null) {
             if (isParallelProcessing()) {
                 // we are running in parallel so create a cached thread pool 
which grows/shrinks automatic
-                executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool("Aggregator");
+                executorService = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(this, 
"Aggregator");
             } else {
                 // use a single threaded if we are not running in parallel
-                executorService = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor("Aggregator");
+                executorService = 
camelContext.getExecutorServiceStrategy().newSingleThreadExecutor(this, 
"Aggregator");
             }
         }
 
         // start timeout service if its in use
         if (getCompletionTimeout() > 0 || getCompletionTimeoutExpression() != 
null) {
-            ScheduledExecutorService scheduler = 
camelContext.getExecutorServiceStrategy().newScheduledThreadPool("AggregateTimeoutChecker",
 1);
+            ScheduledExecutorService scheduler = 
camelContext.getExecutorServiceStrategy().newScheduledThreadPool(this, 
"AggregateTimeoutChecker", 1);
             // check for timed out aggregated messages once every second
             timeoutMap = new AggregationTimeoutMap(scheduler, 1000L);
             ServiceHelper.startService(timeoutMap);

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceStrategy.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceStrategy.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceStrategy.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/spi/ExecutorServiceStrategy.java
 Fri Mar 12 08:57:30 2010
@@ -67,60 +67,67 @@ public interface ExecutorServiceStrategy
     /**
      * Lookup a {...@link java.util.concurrent.ExecutorService} from the 
{...@link org.apache.camel.spi.Registry}.
      *
-     * @param executorServiceRef  reference to lookup
+     * @param source               the source object, usually it should be 
<tt>this</tt> passed in as parameter
+     * @param executorServiceRef   reference to lookup
      * @return the {...@link java.util.concurrent.ExecutorService} or 
<tt>null</tt> if not found
      */
-    ExecutorService lookup(String executorServiceRef);
+    ExecutorService lookup(Object source, String executorServiceRef);
 
     /**
      * Creates a new cached thread pool.
      *
-     * @param name  name which is appended to the thread name
+     * @param source      the source object, usually it should be 
<tt>this</tt> passed in as parameter
+     * @param name        name which is appended to the thread name
      * @return the thread pool
      */
-    ExecutorService newCachedThreadPool(String name);
+    ExecutorService newCachedThreadPool(Object source, String name);
 
     /**
      * Creates a new scheduled thread pool.
      *
+     * @param source      the source object, usually it should be 
<tt>this</tt> passed in as parameter
      * @param name        name which is appended to the thread name
      * @param poolSize    the core pool size
      * @return the thread pool
      */
-    ScheduledExecutorService newScheduledThreadPool(String name, int poolSize);
+    ScheduledExecutorService newScheduledThreadPool(Object source, String 
name, int poolSize);
 
     /**
      * Creates a new fixed thread pool.
      *
+     * @param source      the source object, usually it should be 
<tt>this</tt> passed in as parameter
      * @param name        name which is appended to the thread name
      * @param poolSize    the core pool size
      * @return the thread pool
      */
-    ExecutorService newFixedThreadPool(String name, int poolSize);
+    ExecutorService newFixedThreadPool(Object source, String name, int 
poolSize);
 
     /**
      * Creates a new single-threaded thread pool. This is often used for 
background threads.
      *
-     * @param name  name which is appended to the thread name
+     * @param source      the source object, usually it should be 
<tt>this</tt> passed in as parameter
+     * @param name        name which is appended to the thread name
      * @return the thread pool
      */
-    ExecutorService newSingleThreadExecutor(String name);
+    ExecutorService newSingleThreadExecutor(Object source, String name);
 
     /**
      * Creates a new custom thread pool.
      * <p/>
      * Will by default use 60 seconds for keep alive time for idle threads.
      *
+     * @param source        the source object, usually it should be 
<tt>this</tt> passed in as parameter
      * @param name          name which is appended to the thread name
      * @param corePoolSize  the core pool size
      * @param maxPoolSize   the maximum pool size
      * @return the thread pool
      */
-    ExecutorService newThreadPool(String name, int corePoolSize, int 
maxPoolSize);
+    ExecutorService newThreadPool(Object source, String name, int 
corePoolSize, int maxPoolSize);
 
     /**
      * Creates a new custom thread pool.
      *
+     * @param source        the source object, usually it should be 
<tt>this</tt> passed in as parameter
      * @param name          name which is appended to the thread name
      * @param corePoolSize  the core pool size
      * @param maxPoolSize   the maximum pool size
@@ -129,7 +136,7 @@ public interface ExecutorServiceStrategy
      * @param daemon        whether or not the created threads is daemon or not
      * @return the thread pool
      */
-    ExecutorService newThreadPool(final String name, int corePoolSize, int 
maxPoolSize,
+    ExecutorService newThreadPool(Object source, final String name, int 
corePoolSize, int maxPoolSize,
                                   long keepAliveTime, TimeUnit timeUnit, 
boolean daemon);
 
     /**

Modified: 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/concurrent/ExecutorServiceHelper.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/util/concurrent/ExecutorServiceHelper.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/concurrent/ExecutorServiceHelper.java
 (original)
+++ 
camel/trunk/camel-core/src/main/java/org/apache/camel/util/concurrent/ExecutorServiceHelper.java
 Fri Mar 12 08:57:30 2010
@@ -194,7 +194,7 @@ public final class ExecutorServiceHelper
         if (definition.getExecutorService() != null) {
             return definition.getExecutorService();
         } else if (definition.getExecutorServiceRef() != null) {
-            ExecutorService answer = 
strategy.lookup(definition.getExecutorServiceRef());
+            ExecutorService answer = strategy.lookup(definition, 
definition.getExecutorServiceRef());
             if (answer == null) {
                 throw new IllegalArgumentException("ExecutorServiceRef " + 
definition.getExecutorServiceRef() + " not found in registry.");
             }

Modified: 
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
 (original)
+++ 
camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
 Fri Mar 12 08:57:30 2010
@@ -165,9 +165,9 @@ public class MinaComponent extends Defau
         final int processorCount = Runtime.getRuntime().availableProcessors() 
+ 1;
 
         IoAcceptor acceptor = new SocketAcceptor(processorCount,
-                
getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaSocketAcceptor"));
+                
getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this, 
"MinaSocketAcceptor"));
         IoConnector connector = new SocketConnector(processorCount,
-                
getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaSocketConnector"));
+                
getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this, 
"MinaSocketConnector"));
         SocketAddress address = new InetSocketAddress(configuration.getHost(), 
configuration.getPort());
 
         // connector config
@@ -176,7 +176,7 @@ public class MinaComponent extends Defau
         connectorConfig.setThreadModel(ThreadModel.MANUAL);
         configureCodecFactory("MinaProducer", connectorConfig, configuration);
         connectorConfig.getFilterChain().addLast("threadPool",
-                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaThreadPool")));
+                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaThreadPool")));
         if (minaLogger) {
             connectorConfig.getFilterChain().addLast("logger", new 
LoggingFilter());
         }
@@ -193,7 +193,7 @@ public class MinaComponent extends Defau
         acceptorConfig.setReuseAddress(true);
         acceptorConfig.setDisconnectOnUnbind(true);
         acceptorConfig.getFilterChain().addLast("threadPool",
-                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaThreadPool")));
+                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaThreadPool")));
         if (minaLogger) {
             acceptorConfig.getFilterChain().addLast("logger", new 
LoggingFilter());
         }
@@ -261,8 +261,8 @@ public class MinaComponent extends Defau
         boolean sync = configuration.isSync();
         List<IoFilter> filters = configuration.getFilters();
 
-        IoAcceptor acceptor = new 
DatagramAcceptor(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaDatagramAcceptor"));
-        IoConnector connector = new 
DatagramConnector(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaDatagramConnector"));
+        IoAcceptor acceptor = new 
DatagramAcceptor(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaDatagramAcceptor"));
+        IoConnector connector = new 
DatagramConnector(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaDatagramConnector"));
         SocketAddress address = new InetSocketAddress(configuration.getHost(), 
configuration.getPort());
 
         if (transferExchange) {
@@ -274,7 +274,7 @@ public class MinaComponent extends Defau
         connectorConfig.setThreadModel(ThreadModel.MANUAL);
         configureDataGramCodecFactory("MinaProducer", connectorConfig, 
configuration);
         connectorConfig.getFilterChain().addLast("threadPool",
-                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaThreadPool")));
+                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaThreadPool")));
         if (minaLogger) {
             connectorConfig.getFilterChain().addLast("logger", new 
LoggingFilter());
         }
@@ -289,7 +289,7 @@ public class MinaComponent extends Defau
         acceptorConfig.setDisconnectOnUnbind(true);
         // reuse address is default true for datagram
         acceptorConfig.getFilterChain().addLast("threadPool",
-                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool("MinaThreadPool")));
+                new 
ExecutorFilter(getCamelContext().getExecutorServiceStrategy().newCachedThreadPool(this,
 "MinaThreadPool")));
         if (minaLogger) {
             acceptorConfig.getFilterChain().addLast("logger", new 
LoggingFilter());
         }

Modified: 
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosProducer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosProducer.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosProducer.java
 (original)
+++ 
camel/trunk/components/camel-nagios/src/main/java/org/apache/camel/component/nagios/NagiosProducer.java
 Fri Mar 12 08:57:30 2010
@@ -69,7 +69,7 @@ public class NagiosProducer extends Defa
         if (sender instanceof NonBlockingNagiosPassiveCheckSender) {
             NonBlockingNagiosPassiveCheckSender nonBlocking = 
(NonBlockingNagiosPassiveCheckSender) sender;
             ExecutorService executor = 
getEndpoint().getCamelContext().getExecutorServiceStrategy()
-                                            
.newSingleThreadExecutor(getEndpoint().getEndpointUri());
+                                            .newSingleThreadExecutor(this, 
getEndpoint().getEndpointUri());
             nonBlocking.setExecutor(executor);
         }
         super.doStart();

Modified: 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
 (original)
+++ 
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
 Fri Mar 12 08:57:30 2010
@@ -76,12 +76,12 @@ public class CamelExecutorServiceFactory
         ExecutorService answer;
         if (getPoolSize() == null || getPoolSize() <= 0) {
             // use the cached thread pool
-            answer = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(name);
+            answer = 
camelContext.getExecutorServiceStrategy().newCachedThreadPool(getId(), name);
         } else {
             // use a custom pool based on the settings
             int max = getMaxPoolSize() != null ? getMaxPoolSize() : 
getPoolSize();
             answer = camelContext.getExecutorServiceStrategy()
-                        .newThreadPool(name, getPoolSize(), max, 
getKeepAliveTime(), getUnits(), isDeamon());
+                        .newThreadPool(getId(), name, getPoolSize(), max, 
getKeepAliveTime(), getUnits(), isDeamon());
         }
         return answer;
     }

Modified: 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java?rev=922185&r1=922184&r2=922185&view=diff
==============================================================================
--- 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
 (original)
+++ 
camel/trunk/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamConsumer.java
 Fri Mar 12 08:57:30 2010
@@ -72,7 +72,7 @@ public class StreamConsumer extends Defa
             inputStream = resolveStreamFromUrl();
         }
 
-        executor = 
endpoint.getCamelContext().getExecutorServiceStrategy().newSingleThreadExecutor(endpoint.getEndpointUri());
+        executor = 
endpoint.getCamelContext().getExecutorServiceStrategy().newSingleThreadExecutor(this,
 endpoint.getEndpointUri());
         executor.execute(this);
     }
 


Reply via email to