CAMEL-7668: When stopping Camel, then shutdown pojo @Consume eager.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/509f4ea5 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/509f4ea5 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/509f4ea5 Branch: refs/heads/master Commit: 509f4ea5dbc5749dd4ea939179bbcd952a59e3c8 Parents: 9a92064 Author: Claus Ibsen <davscl...@apache.org> Authored: Mon Sep 1 09:46:28 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Mon Sep 1 09:50:00 2014 +0200 ---------------------------------------------------------------------- .../main/java/org/apache/camel/impl/DefaultCamelContext.java | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/509f4ea5/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index 2c36dc5..f825a25 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -1971,6 +1971,14 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon // but clear any suspend routes suspendedRouteServices.clear(); + // stop consumers from the services to close first, such as POJO consumer (eg @Consumer) + // which we need to stop after the routes, as a POJO consumer is essentially a route also + for (Service service : servicesToClose) { + if (service instanceof Consumer) { + shutdownServices(service); + } + } + // the stop order is important // shutdown default error handler thread pool