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

Claus Ibsen resolved CAMEL-25108.
---------------------------------
    Resolution: Fixed

Fixed by https://github.com/apache/camel/pull/27014

> camel-core - Component, endpoint and consumer base classes: fix bugs found in 
> a deep review
> -------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-25108
>                 URL: https://issues.apache.org/jira/browse/CAMEL-25108
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.23.0
>
>
> A review of the base classes of components (camel-support) found these bugs:
> # With {{bridgeErrorHandler=true}}, an exchange that failed while being 
> routed (and was already handled by the error handler of the route, such as an 
> onException that does not mark it as handled) is bridged to the error handler 
> a second time, so onException (and the dead letter channel) is invoked twice 
> for the same failure, the second time with the body replaced by the error 
> message. The bridge error handler is documented for errors when the consumer 
> picks up messages. Long-standing (same in 4.16 and 4.18).
> # A query parameter named {{hash}} is always removed from the endpoint uri 
> (DefaultComponent), also when it is a regular parameter (such as for the http 
> components). It is only meant for the special parameter the endpoint DSL adds 
> to identify endpoints.
> # When both {{bridgeErrorHandler=true}} and {{exceptionHandler}} are 
> configured, the exceptionHandler is used, while the documentation says the 
> exceptionHandler is not in use when bridgeErrorHandler is enabled.
> # {{DefaultEndpoint.configureProperties}} fails with NullPointerException for 
> an endpoint that is created without a component (such as a bean).
> # {{DefaultComponent.getAndRemoveOrResolveReferenceParameter}} returns null 
> instead of the default value when the value cannot be converted.
> # {{DefaultComponent.resolveAndRemoveReferenceListParameter}} returns a List 
> value as-is without resolving the references (such as {{List.of("#a", "#b")}} 
> from the endpoint DSL).
> Not changed:
> * GlobalEndpointConfiguration.setAutowiredEnabled(false) alone has no effect 
> (camel-main sets both).
> * EndpointHelper.resolveReferenceParameter does not trim the value.
> _Claude Code on behalf of Claus Ibsen_



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

Reply via email to