You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by he...@apache.org on 2014/02/25 17:53:55 UTC

git commit: [CAMEL-7240] ThreadsProcessor now resolves RejectedPolicy from the referenced ThreadPoolProfile.

Repository: camel
Updated Branches:
  refs/heads/master 2b7161c74 -> 77bbb6e27


[CAMEL-7240] ThreadsProcessor now resolves RejectedPolicy from the referenced ThreadPoolProfile.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/77bbb6e2
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/77bbb6e2
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/77bbb6e2

Branch: refs/heads/master
Commit: 77bbb6e2783cb552fb735ce6caeb711bec8eb472
Parents: 2b7161c
Author: Henryk Konsek <he...@gmail.com>
Authored: Tue Feb 25 17:53:36 2014 +0100
Committer: Henryk Konsek <he...@gmail.com>
Committed: Tue Feb 25 17:53:36 2014 +0100

----------------------------------------------------------------------
 .../java/org/apache/camel/model/ThreadsDefinition.java  | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/77bbb6e2/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java b/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
index 5b725f7..6de5417 100644
--- a/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/ThreadsDefinition.java
@@ -104,7 +104,7 @@ public class ThreadsDefinition extends OutputDefinition<ThreadsDefinition> imple
         } else {
             thread.setCallerRunsWhenRejected(getCallerRunsWhenRejected());
         }
-        thread.setRejectedPolicy(getRejectedPolicy());
+        thread.setRejectedPolicy(resolveRejectedPolicy(routeContext));
 
         List<Processor> pipe = new ArrayList<Processor>(2);
         pipe.add(thread);
@@ -119,6 +119,16 @@ public class ThreadsDefinition extends OutputDefinition<ThreadsDefinition> imple
         };
     }
 
+    protected ThreadPoolRejectedPolicy resolveRejectedPolicy(RouteContext routeContext) {
+        if (getExecutorServiceRef() != null && getRejectedPolicy() == null) {
+            ThreadPoolProfile threadPoolProfile = routeContext.getCamelContext().getExecutorServiceManager().getThreadPoolProfile(getExecutorServiceRef());
+            if (threadPoolProfile != null) {
+                return threadPoolProfile.getRejectedPolicy();
+            }
+        }
+        return getRejectedPolicy();
+    }
+
     @Override
     public String getLabel() {
         return "threads";