[ 
https://issues.apache.org/jira/browse/CAMEL-20999?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Claus Ibsen resolved CAMEL-20999.
---------------------------------
    Resolution: Cannot Reproduce

> OnException - Handler is invoked twice per exception when handled(false) is 
> used
> --------------------------------------------------------------------------------
>
>                 Key: CAMEL-20999
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20999
>             Project: Camel
>          Issue Type: Bug
>          Components: came-core
>    Affects Versions: 4.4.2
>         Environment: Camel 4.4.2 with SpringBoot 3.2.7 and JDK 17 on Windows.
>            Reporter: John Yin
>            Priority: Minor
>             Fix For: 4.x
>
>
> Run the following route, the onException handler would be executed twice.  
> The counter will be 2.
> {quote}int counter = 0
> from("timer://testRoute2?repeatCount=1").routeId('testRoute_timer2').autoStartup(true)
> .onException(IllegalArgumentException).onWhen(\{it.getException().toString().contains('foo')})
> .process({
> counter++
> println "print in onException foo $counter"
> }).handled(false)
> .end()
> .log('in testRoute2')
> .process({
> println 'before throwing exception'
> throw new IllegalArgumentException("foo")
> }){quote}
> This would generate the following:
>  
> {quote}2024-07-19 17:46:11.711 [Camel (camel-1) thread #31 - 
> timer://testRoute2] testRoute_timer2 - in testRoute2
> before throwing exception
> print in onException foo 1
> print in onException foo 2{quote}
> If the handled(true) is used, the handler would only run once.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to