Bjorn Beskow created CAMEL-22874:
------------------------------------
Summary: Error handler in camel-rest-openapi route is invoked twice
Key: CAMEL-22874
URL: https://issues.apache.org/jira/browse/CAMEL-22874
Project: Camel
Issue Type: Bug
Components: camel-rest-openapi
Affects Versions: 4.14.3
Reporter: Bjorn Beskow
Starting with 4.14.3, a defined error handler in a route which uses a
rest-openapi endpoint gets invokes twice (which of course is annoying with
duplicate logs but can also cause more severe problems if the error handling
have side effects besides logging).
The simplest way I found to reproduce the error was using the
camel-spring-boot-examples/openapi-contract-first project:
Add an error handler to the PetStoreRoute, which produces a log:
{code:java}
onException(Exception.class)
.log("Error processing request: ${exception.message}")
.handled(false); {code}
Modify the GET route to throw an exception:
{code:java}
from("direct:getPetById")
.process(e -> {
throw new RuntimeException("Simulated error get pet");
});
{code}
Start the application with spring-boot:run, then trigger the endpoint:
{code:java}
curl http://0.0.0.0:8080/myapp/myapi/pet/123 {code}
The log statement of the exception handler shows up twice (as well as the
Failed delivery logging).
The problem seem to have started with version 4.14.3 (4.14.2 does not show this
behavior).
I have tried to debug the problem, but have to narrow knowledge about the code
base to be of any help (sorry!)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)