[
https://issues.apache.org/jira/browse/CAMEL-6632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14322078#comment-14322078
]
Claus Ibsen commented on CAMEL-6632:
------------------------------------
This is several years ago. Anyone able to reproduce with latest code?
> Camel-kestrel consumer do not shutdown because of (not existing) inflight
> exchanges
> -----------------------------------------------------------------------------------
>
> Key: CAMEL-6632
> URL: https://issues.apache.org/jira/browse/CAMEL-6632
> Project: Camel
> Issue Type: Bug
> Components: extra
> Affects Versions: 2.11.1
> Environment: Mac OS X and Debian
> Reporter: Tommaso Schiavinotto
>
> *** camel-kestrel missing from component list ***
> I've a Camel process (that I run from command line) which route is similar to
> this one:
> public class ProfilerRoute extends RouteBuilder {
> @Override
> public void configure() {
> from("kestrel://my_queue?concurrentConsumers=10&waitTimeMs=500")
> .unmarshal().json(JsonLibrary.Jackson, MyClass.class)
> .process(new Processor() {
> @Override
> public void process(Exchange exchange) throws Exception {
> /* Do the real processing [...] */
> exchange.getIn().setBody(null);
> }
> })
> .filter(body().isNotNull())
> .to("file://nowhere");
> }
> }
> Note that I'm trashing whatever message after having processed it, being this
> a pure consumer process.
> The process is run by its own. No other process is writing on the queue, the
> queue is empty. However when I try to kill the process the process is not
> going to die.
> From the logs I see the following lines (indented for readability):
> [ Thread-1] MainSupport$HangupInterceptor INFO
> Received hang up - stopping the main
> instance.
> [ Thread-1] MainSupport INFO
> Apache Camel stopping
> [ Thread-1] GuiceCamelContext INFO
> Apache Camel 2.11.1 (CamelContext: camel-1)
> is shutting down
> [ Thread-1] DefaultShutdownStrategy INFO
> Starting to graceful shutdown 1 routes
> (timeout 300 seconds)
> [l-1) thread #12 - ShutdownTask] DefaultShutdownStrategy INFO
> Waiting as there are still 10 inflight and
> pending exchanges to complete,
> timeout in 300 seconds.
> And so on with decreasing timeout. At the end of the timeout I get on the
> logs:
> [l-1) thread #12 - ShutdownTask] DefaultShutdownStrategy INFO
> Waiting as there are still 10 inflight and
> pending exchanges to complete,
> timeout in 1 seconds.
> [ Thread-1] DefaultShutdownStrategy WARN
> Timeout occurred.
> Now forcing the routes to be shutdown now.
> [l-1) thread #12 - ShutdownTask] DefaultShutdownStrategy WARN
> Interrupted while waiting during graceful
> shutdown, will force shutdown now.
> [ Thread-1] KestrelConsumer INFO
> Stopping consumer for
>
> kestrel://localhost:22133/my_queue?concurrentConsumers=10&waitTimeMs=500
> But the process will not die anyway (even if I try to kill it at this point).
> I would have expected that after the waiting time all the threads would
> realise that a shutdown is going on and stop.
> I've read the "Graceful Shutdown" document, however I could not find
> something that explains the behaviour I'm facing.
> As you can see from logs I'm using the 2.11.1 version of Apache Camel.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)