davsclaus opened a new pull request, #26625:
URL: https://github.com/apache/camel/pull/26625

   ## Description
   
   When a REST producer (`rest:` in producer mode, or `rest-openapi` calling an 
operation) has no `componentName`, the client is picked from a component 
already in the context, then the registry, then 
`RestEndpoint.DEFAULT_REST_PRODUCER_COMPONENTS`. That list started with 
`vertx-http`, and the Camel CLI's dependency rule downloaded camel-vertx-http 
for a rest-openapi producer, so an application with both clients on the 
classpath, or any `camel run`, called through Vert.x without having chosen it. 
Vert.x is the Quarkus stack; most Camel users run Spring Boot, and camel-http 
is the reference client that carries the name.
   
   - `DEFAULT_REST_PRODUCER_COMPONENTS` is now `http`, `vertx-http`, 
`undertow`, `netty-http`.
   - The CLI adds camel-http, not camel-vertx-http, for a rest-openapi producer.
   - The rest-openapi page says how the delegate is chosen (it said only that 
the classpath is searched and that one factory must be present), and the 4.23 
upgrade guide has a note.
   
   Not affected: an application with a single `RestProducerFactory` on the 
classpath keeps it (a Quarkus app with camel-quarkus-vertx-http alone still 
uses vertx-http); a `componentName` still wins.
   
   Verified with the CLI: the openapi-client example of camel-jbang-examples 
with its `componentName: http` line removed calls the openapi-server example 
through camel-http (the reservations and the 409 are logged on the file 
consumer's thread, no Vert.x worker).
   
   Independent of #26624 (vertx-http creating its Vert.x on first use), which 
stays right for anyone who names vertx-http.
   
   ## Tests
   
   - camel-rest-openapi `RestOpenApiComponentV3Test`, 
`RestOpenApiComponentV3YamlTest`, `HttpsV3Test` (parameterised over the default 
list, so every client is still exercised): 48 green.
   - camel-rest and camel-kamelet-main build.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   https://claude.ai/code/session_01Bp3538HRBPMQkb5ta9xRaj


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to