[ https://issues.apache.org/jira/browse/CAMEL-17374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17501732#comment-17501732 ]
Stepan Shcherbakov commented on CAMEL-17374: -------------------------------------------- Sorry, forgot about this bug. But today it appeared again :( I use camel with version 3.7.2. In our application there are a lot of camel contexts and we use a *controller* to control them. That is why JVM is still running after context shutdown. *Controller* creates new camel context every start and does not reuse it after shutdown. > RecepientList doesnt stop after CamelContext.shutdown() > ------------------------------------------------------- > > Key: CAMEL-17374 > URL: https://issues.apache.org/jira/browse/CAMEL-17374 > Project: Camel > Issue Type: Bug > Components: camel-core > Reporter: Stepan Shcherbakov > Priority: Minor > > My program has camel route: > timer -> direct:send:to:recipientList > direct:send:to:recipientList -> recipientList -> direct1 > -> direct2 > direct1 -> processor -> file > direct2 -> processor -> http (which fails with error) > *redelivery set to infinite (-1) and redelivery delay set to 100ms* > I called CamelContext.shutdown() and it shutdowned successful. > Suddenly, after 30s from shutdown was completed, 3 recipientList processors > raised and started to redelivery: > 2021/12/23-13:40:35.265 [Camel (ContextName) thread #10 - RecipientList](463) > W! org.apache.camel.processor.errorhandler.RedeliveryErrorHandler - Error > during processing OnExceptionOccurred. This exception is ignored. > java.lang.IllegalArgumentException: my exception > at my error handler > at > chassis//org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.onExceptionOccurred(RedeliveryErrorHandler.java:953) > at > chassis//org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:635) > at > chassis//org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:623) > at > chassis//org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) > at > chassis//org.apache.camel.impl.engine.DefaultReactiveExecutor.schedule(DefaultReactiveExecutor.java:55) > at > chassis//org.apache.camel.processor.MulticastProcessor.lambda$schedule$1(MulticastProcessor.java:312) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:834) > Exception from error handler is ok because I throw it when camel context is > stopped. > *Why there are working camel threads after context was shutdowned?* > These threads never stop and trying to redelivery every 100ms (as redelivery > delay set). -- This message was sent by Atlassian Jira (v8.20.1#820001)