[ 
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)

Reply via email to