Claus Ibsen created CAMEL-25108:
-----------------------------------
Summary: 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
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)