This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 0c81b8aea90c CAMEL-23535: camel-api - batch 3: enhance class-level 
javadoc for endpoint/component/producer/consumer types (#23430)
0c81b8aea90c is described below

commit 0c81b8aea90c0df2a49666d802c74790ff29a743
Author: Adriano Machado <[email protected]>
AuthorDate: Thu May 21 13:16:56 2026 -0400

    CAMEL-23535: camel-api - batch 3: enhance class-level javadoc for 
endpoint/component/producer/consumer types (#23430)
    
    Expanded class-level javadoc for 24 types in the endpoint, component,
    producer, and consumer family. Major rewrites for Producer, Consumer,
    AsyncProducer, AsyncEndpoint, BatchConsumer, DelegateEndpoint,
    DelegateProcessor, and ApiEndpoint. Cross-links added via @see tags
    for all files; @see-only additions for already-rich types (Processor,
    AsyncProcessor, AsyncCallback, PollingConsumer, Channel, 
MultipleConsumersSupport,
    ShutdownRoute, ShutdownRunningTask). Comment-only change; no production
    code or signatures modified.
    
    Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
    
    rh-pre-commit.version: 2.3.2
    rh-pre-commit.check-secrets: ENABLED
---
 .../src/main/java/org/apache/camel/ApiEndpoint.java          |  8 +++++++-
 .../src/main/java/org/apache/camel/AsyncCallback.java        |  2 ++
 .../src/main/java/org/apache/camel/AsyncEndpoint.java        | 11 ++++++++++-
 .../src/main/java/org/apache/camel/AsyncProcessor.java       |  3 +++
 .../src/main/java/org/apache/camel/AsyncProducer.java        |  9 ++++++++-
 .../src/main/java/org/apache/camel/BatchConsumer.java        | 11 ++++++++++-
 core/camel-api/src/main/java/org/apache/camel/Channel.java   |  3 +++
 core/camel-api/src/main/java/org/apache/camel/Component.java |  9 +++++++++
 .../src/main/java/org/apache/camel/ComponentAware.java       |  6 +++++-
 core/camel-api/src/main/java/org/apache/camel/Consumer.java  | 12 +++++++++++-
 .../src/main/java/org/apache/camel/DelegateEndpoint.java     |  8 +++++++-
 .../src/main/java/org/apache/camel/DelegateProcessor.java    |  8 +++++++-
 .../main/java/org/apache/camel/DynamicPollingConsumer.java   |  9 +++++++--
 core/camel-api/src/main/java/org/apache/camel/Endpoint.java  |  3 +++
 .../src/main/java/org/apache/camel/EndpointAware.java        |  7 ++++++-
 .../camel/FailedToCreateRouteFromTemplateException.java      |  6 +++++-
 .../main/java/org/apache/camel/MultipleConsumersSupport.java |  3 +++
 .../main/java/org/apache/camel/NoSuchEndpointException.java  | 10 ++++++++--
 .../src/main/java/org/apache/camel/PollingConsumer.java      |  3 +++
 core/camel-api/src/main/java/org/apache/camel/Processor.java |  3 +++
 core/camel-api/src/main/java/org/apache/camel/Producer.java  | 10 +++++++++-
 .../org/apache/camel/ResolveEndpointFailedException.java     |  8 +++++++-
 .../src/main/java/org/apache/camel/ShutdownRoute.java        |  2 ++
 .../src/main/java/org/apache/camel/ShutdownRunningTask.java  |  3 +++
 24 files changed, 141 insertions(+), 16 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/ApiEndpoint.java 
b/core/camel-api/src/main/java/org/apache/camel/ApiEndpoint.java
index cd98784a1010..0d102fc1eddf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ApiEndpoint.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ApiEndpoint.java
@@ -17,8 +17,14 @@
 package org.apache.camel;
 
 /**
- * Marks the {@link Endpoint} as an endpoint from an API based component.
+ * Marker interface indicating that an {@link Endpoint} belongs to an 
API-based component, where the endpoint URI
+ * encodes an API name and method name rather than a plain scheme and path.
+ * <p/>
+ * API-based components (for example camel-box) are typically generated from 
an API specification and expose many
+ * operations as distinct endpoint URIs. This interface allows tooling and the 
Camel catalog to identify and document
+ * them as API endpoints.
  *
+ * @see   Endpoint
  * @since 3.6
  */
 public interface ApiEndpoint extends Endpoint {
diff --git a/core/camel-api/src/main/java/org/apache/camel/AsyncCallback.java 
b/core/camel-api/src/main/java/org/apache/camel/AsyncCallback.java
index 85fe1c17b2f0..693d95af49bc 100644
--- a/core/camel-api/src/main/java/org/apache/camel/AsyncCallback.java
+++ b/core/camel-api/src/main/java/org/apache/camel/AsyncCallback.java
@@ -22,6 +22,8 @@ package org.apache.camel;
  * For example a {@link AsyncProcessor} should invoke the done method when the 
{@link Exchange} is ready to be continued
  * routed. This allows to implement asynchronous {@link Producer} which can 
continue routing {@link Exchange} when all
  * the data has been gathered. This allows to build non blocking request/reply 
communication.
+ *
+ * @see AsyncProcessor
  */
 public interface AsyncCallback extends Runnable {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/AsyncEndpoint.java 
b/core/camel-api/src/main/java/org/apache/camel/AsyncEndpoint.java
index 8fb81b076659..8e490b0256be 100644
--- a/core/camel-api/src/main/java/org/apache/camel/AsyncEndpoint.java
+++ b/core/camel-api/src/main/java/org/apache/camel/AsyncEndpoint.java
@@ -17,7 +17,16 @@
 package org.apache.camel;
 
 /**
- * Marks the {@link Endpoint} as support asynchronous non-blocking routing in 
its consumer and producer.
+ * Marker interface indicating that the {@link Endpoint}'s consumer and 
producer support asynchronous, non-blocking
+ * routing.
+ * <p/>
+ * When an endpoint implements this interface, the Camel routing engine can 
pass an {@link AsyncCallback} to the
+ * producer's {@link AsyncProcessor#process(Exchange, AsyncCallback)} method 
instead of blocking until the exchange
+ * completes.
+ *
+ * @see Endpoint
+ * @see AsyncProcessor
+ * @see AsyncProducer
  */
 public interface AsyncEndpoint extends Endpoint {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/AsyncProcessor.java 
b/core/camel-api/src/main/java/org/apache/camel/AsyncProcessor.java
index 1f803ae16360..2fd6e372b140 100644
--- a/core/camel-api/src/main/java/org/apache/camel/AsyncProcessor.java
+++ b/core/camel-api/src/main/java/org/apache/camel/AsyncProcessor.java
@@ -24,6 +24,9 @@ import java.util.concurrent.CompletableFuture;
  * <p/>
  * Any processor can be coerced to have an {@link AsyncProcessor} interface by 
using the
  * {@link org.apache.camel.support.AsyncProcessorConverterHelper#convert 
AsyncProcessorConverterHelper.convert} method.
+ *
+ * @see Processor
+ * @see AsyncCallback
  */
 public interface AsyncProcessor extends Processor {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/AsyncProducer.java 
b/core/camel-api/src/main/java/org/apache/camel/AsyncProducer.java
index 29bdd86ecd63..ec127f18f640 100644
--- a/core/camel-api/src/main/java/org/apache/camel/AsyncProducer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/AsyncProducer.java
@@ -17,7 +17,14 @@
 package org.apache.camel;
 
 /**
- * Asynchronous producer
+ * A {@link Producer} that can dispatch an {@link Exchange} to an {@link 
Endpoint} without blocking the calling thread.
+ * <p/>
+ * Implementations override {@link AsyncProcessor#process(Exchange, 
AsyncCallback)} to complete the dispatch without
+ * blocking and invoke the {@link AsyncCallback} when processing is done.
+ *
+ * @see Producer
+ * @see AsyncProcessor
+ * @see AsyncCallback
  */
 public interface AsyncProducer extends Producer, AsyncProcessor {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/BatchConsumer.java 
b/core/camel-api/src/main/java/org/apache/camel/BatchConsumer.java
index ea14a4d11dd2..76bcf993bc63 100644
--- a/core/camel-api/src/main/java/org/apache/camel/BatchConsumer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/BatchConsumer.java
@@ -19,7 +19,16 @@ package org.apache.camel;
 import java.util.Queue;
 
 /**
- * A consumer of a batch of message exchanges from an {@link Endpoint}
+ * A {@link Consumer} that receives messages from an {@link Endpoint} in 
discrete batches rather than one at a time.
+ * <p/>
+ * Batch consumers expose a {@link #setMaxMessagesPerPoll(int)} limit to bound 
the number of messages fetched in a
+ * single polling cycle, which helps control memory usage and startup latency.
+ * <p/>
+ * During graceful shutdown, the {@link ShutdownRunningTask} option controls 
whether a batch in progress is completed in
+ * full or interrupted after the current message.
+ *
+ * @see Consumer
+ * @see ShutdownRunningTask
  */
 public interface BatchConsumer extends Consumer {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/Channel.java 
b/core/camel-api/src/main/java/org/apache/camel/Channel.java
index 19018fb37161..6d3e6db2f8c5 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Channel.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Channel.java
@@ -26,6 +26,9 @@ import org.jspecify.annotations.Nullable;
  * Channel acts as a channel between {@link Processor}s in the route graph.
  * <p/>
  * The channel is responsible for routing the {@link Exchange} to the next 
{@link Processor} in the route graph.
+ *
+ * @see Processor
+ * @see Route
  */
 public interface Channel extends AsyncProcessor, Navigate<Processor> {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/Component.java 
b/core/camel-api/src/main/java/org/apache/camel/Component.java
index f99b936f33bb..fa5a1764af61 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Component.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Component.java
@@ -27,6 +27,15 @@ import org.jspecify.annotations.Nullable;
 
 /**
  * A <a href="https://camel.apache.org/component.html";>component</a> is a 
factory of {@link Endpoint} objects.
+ * <p/>
+ * A component is registered in the {@link CamelContext} under a URI scheme 
(for example {@code "kafka"} or
+ * {@code "file"}) and is responsible for creating {@link Endpoint} instances 
for URIs that match that scheme.
+ * <p/>
+ * Components participate in the Camel lifecycle as {@link Service}s: they are 
started before any of their endpoints and
+ * stopped after the last endpoint is stopped.
+ *
+ * @see Endpoint
+ * @see CamelContext
  */
 public interface Component extends CamelContextAware, Service {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/ComponentAware.java 
b/core/camel-api/src/main/java/org/apache/camel/ComponentAware.java
index b26952df5cee..8c966a12acbc 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ComponentAware.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ComponentAware.java
@@ -19,7 +19,11 @@ package org.apache.camel;
 import org.jspecify.annotations.Nullable;
 
 /**
- * An interface to represent an object which wishes to be injected with a 
{@link Component}.
+ * Implemented by objects, such as {@link Endpoint}, that are associated with 
and can expose their parent
+ * {@link Component}.
+ *
+ * @see Component
+ * @see Endpoint
  */
 public interface ComponentAware {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/Consumer.java 
b/core/camel-api/src/main/java/org/apache/camel/Consumer.java
index b6b29a164219..6d34c1dc39ea 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Consumer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Consumer.java
@@ -20,11 +20,21 @@ import org.apache.camel.spi.UnitOfWork;
 import org.jspecify.annotations.Nullable;
 
 /**
- * A consumer of message exchanges from an {@link Endpoint}.
+ * A service that receives messages from an {@link Endpoint} and routes them 
as {@link Exchange}s through the Camel
+ * processing pipeline.
+ * <p/>
+ * Consumers are created by calling {@link Endpoint#createConsumer(Processor)} 
and participate in the Camel lifecycle as
+ * {@link Service}s. For endpoints that require a dedicated polling loop, see 
{@link PollingConsumer}; for endpoints
+ * that deliver messages in batches, see {@link BatchConsumer}.
  * <p/>
  * Important: Do not do any initialization in the constructor. Instead use
  * {@link org.apache.camel.support.service.ServiceSupport#doInit()} or
  * {@link org.apache.camel.support.service.ServiceSupport#doStart()}.
+ *
+ * @see Producer
+ * @see PollingConsumer
+ * @see BatchConsumer
+ * @see Endpoint
  */
 public interface Consumer extends Service, EndpointAware {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/DelegateEndpoint.java 
b/core/camel-api/src/main/java/org/apache/camel/DelegateEndpoint.java
index f0ce8f154103..a5c19926dccf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/DelegateEndpoint.java
+++ b/core/camel-api/src/main/java/org/apache/camel/DelegateEndpoint.java
@@ -17,7 +17,13 @@
 package org.apache.camel;
 
 /**
- * An interface to represent an {@link org.apache.camel.Endpoint} which are 
delegated.
+ * An {@link Endpoint} that delegates all operations to another underlying 
{@link Endpoint}, following the
+ * <em>Decorator</em> pattern.
+ * <p/>
+ * Implementations use this interface to wrap an existing endpoint to modify, 
intercept, or enrich its behaviour without
+ * changing the endpoint URI visible to the rest of the routing engine.
+ *
+ * @see Endpoint
  */
 public interface DelegateEndpoint extends Endpoint {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/DelegateProcessor.java 
b/core/camel-api/src/main/java/org/apache/camel/DelegateProcessor.java
index 574107e139c0..bf1adebe1978 100644
--- a/core/camel-api/src/main/java/org/apache/camel/DelegateProcessor.java
+++ b/core/camel-api/src/main/java/org/apache/camel/DelegateProcessor.java
@@ -19,7 +19,13 @@ package org.apache.camel;
 import org.jspecify.annotations.Nullable;
 
 /**
- * Interface to be used for processors that delegate to the real processor
+ * A {@link Processor} that wraps another {@link Processor} and delegates 
{@link Exchange} processing to it, following
+ * the <em>Decorator</em> pattern.
+ * <p/>
+ * Implementations use this interface to intercept, modify, or enrich 
exchanges before and after they are forwarded to
+ * the delegate processor.
+ *
+ * @see Processor
  */
 public interface DelegateProcessor extends Processor {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/DynamicPollingConsumer.java 
b/core/camel-api/src/main/java/org/apache/camel/DynamicPollingConsumer.java
index 6079d3d654d8..c7d5ba82a826 100644
--- a/core/camel-api/src/main/java/org/apache/camel/DynamicPollingConsumer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/DynamicPollingConsumer.java
@@ -19,9 +19,14 @@ package org.apache.camel;
 import org.jspecify.annotations.Nullable;
 
 /**
- * A {@link PollingConsumer} that are used by dynamic Poll and PollEnrich EIPs 
to facilitate components that can use
- * information from the current {@link Exchange} during the poll.
+ * A {@link PollingConsumer} used by the dynamic {@code poll} and {@code 
pollEnrich} EIPs, allowing the component to use
+ * data from the current {@link Exchange} (such as headers or properties) to 
parameterise the poll operation at runtime.
+ * <p/>
+ * Components that support dynamic polling implement this interface in 
addition to {@link PollingConsumer} to provide
+ * exchange-aware overloads of the three receive methods.
  *
+ * @see   PollingConsumer
+ * @see   Exchange
  * @since 4.11
  */
 public interface DynamicPollingConsumer extends PollingConsumer {
diff --git a/core/camel-api/src/main/java/org/apache/camel/Endpoint.java 
b/core/camel-api/src/main/java/org/apache/camel/Endpoint.java
index 2ebbebb9bcbe..5aead5bb62a3 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Endpoint.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Endpoint.java
@@ -28,6 +28,9 @@ import org.apache.camel.util.StringHelper;
  *
  * @see Exchange
  * @see Message
+ * @see Component
+ * @see Producer
+ * @see Consumer
  */
 public interface Endpoint extends IsSingleton, Service, ComponentAware {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/EndpointAware.java 
b/core/camel-api/src/main/java/org/apache/camel/EndpointAware.java
index 69a1d28b0c4d..caca02b15db7 100644
--- a/core/camel-api/src/main/java/org/apache/camel/EndpointAware.java
+++ b/core/camel-api/src/main/java/org/apache/camel/EndpointAware.java
@@ -17,7 +17,12 @@
 package org.apache.camel;
 
 /**
- * An interface to represent an object such as a {@link 
org.apache.camel.Processor} that uses an {@link Endpoint}
+ * Implemented by objects that are associated with a specific {@link 
Endpoint}, such as a {@link Producer} sending to an
+ * endpoint or a {@link Consumer} reading from one.
+ *
+ * @see Endpoint
+ * @see Producer
+ * @see Consumer
  */
 public interface EndpointAware {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteFromTemplateException.java
 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteFromTemplateException.java
index 241cc1ba2b25..81ca03059e0f 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteFromTemplateException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/FailedToCreateRouteFromTemplateException.java
@@ -19,8 +19,12 @@ package org.apache.camel;
 import java.util.Objects;
 
 /**
- * Exception when failing to create a {@link Route} from a 
RouteTemplateDefinition.
+ * Thrown when the {@link CamelContext} fails to instantiate a {@link Route} 
from a route template definition, for
+ * example because a required template parameter is missing or the generated 
route is invalid.
+ * <p/>
+ * Carries the template id and the target route id to help diagnose which 
template and instantiation attempt failed.
  *
+ * @see   Route
  * @since 3.10
  */
 public class FailedToCreateRouteFromTemplateException extends 
RuntimeCamelException {
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/MultipleConsumersSupport.java 
b/core/camel-api/src/main/java/org/apache/camel/MultipleConsumersSupport.java
index a325fc0b94c4..0c7f73ae6416 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/MultipleConsumersSupport.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/MultipleConsumersSupport.java
@@ -27,6 +27,9 @@ package org.apache.camel;
  * <p/>
  * The purpose of this is to check on startup that we do not have multiple 
consumers for the <b>same</b> endpoints. This
  * prevents starting up with copy/paste mistakes in the Camel routes.
+ *
+ * @see Endpoint
+ * @see Consumer
  */
 public interface MultipleConsumersSupport {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java 
b/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
index f52b675f8baf..484abd52f085 100644
--- a/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
+++ b/core/camel-api/src/main/java/org/apache/camel/NoSuchEndpointException.java
@@ -21,8 +21,14 @@ import java.util.Objects;
 import static org.apache.camel.util.URISupport.sanitizeUri;
 
 /**
- * A runtime exception thrown if a routing processor such as a recipient list 
is unable to resolve an {@link Endpoint}
- * from a URI.
+ * Thrown when a routing processor (such as a recipient list or dynamic 
router) cannot resolve a URI to a known
+ * {@link Endpoint}, typically because the required Camel component is missing 
from the classpath.
+ * <p/>
+ * Contrast with {@link ResolveEndpointFailedException}, which is thrown when 
the component is present but the URI is
+ * malformed or configuration fails.
+ *
+ * @see ResolveEndpointFailedException
+ * @see Endpoint
  */
 public class NoSuchEndpointException extends RuntimeCamelException {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/PollingConsumer.java 
b/core/camel-api/src/main/java/org/apache/camel/PollingConsumer.java
index f2aa96178ad0..4c19e30c110c 100644
--- a/core/camel-api/src/main/java/org/apache/camel/PollingConsumer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/PollingConsumer.java
@@ -31,6 +31,9 @@ import org.jspecify.annotations.Nullable;
  * Important: Do not do any initialization in the constructor. Instead use
  * {@link org.apache.camel.support.service.ServiceSupport#doInit()} or
  * {@link org.apache.camel.support.service.ServiceSupport#doStart()}.
+ *
+ * @see DynamicPollingConsumer
+ * @see BatchConsumer
  */
 public interface PollingConsumer extends Consumer {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/Processor.java 
b/core/camel-api/src/main/java/org/apache/camel/Processor.java
index 913d2c88cca5..fb3de202e6a4 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Processor.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Processor.java
@@ -25,6 +25,9 @@ package org.apache.camel;
  * Notice if you use a {@link Processor} in a Camel route, then make sure to 
write the {@link Processor} in a
  * thread-safe way, as the Camel routes can potentially be executed by 
concurrent threads, and therefore multiple
  * threads can call the same {@link Processor} instance.
+ *
+ * @see AsyncProcessor
+ * @see Exchange
  */
 @FunctionalInterface
 public interface Processor {
diff --git a/core/camel-api/src/main/java/org/apache/camel/Producer.java 
b/core/camel-api/src/main/java/org/apache/camel/Producer.java
index aeba81ed9895..abc49201e052 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Producer.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Producer.java
@@ -17,11 +17,19 @@
 package org.apache.camel;
 
 /**
- * Provides a channel on which clients can create and invoke message exchanges 
on an {@link Endpoint}.
+ * A service that sends {@link Exchange}s to an {@link Endpoint}.
+ * <p/>
+ * A producer is created by calling {@link Endpoint#createProducer()} and 
participates in the Camel lifecycle as a
+ * {@link Service}. Calls to {@link #process(Exchange)} block until processing 
of the exchange completes; for
+ * non-blocking dispatch use {@link AsyncProducer}.
  * <p/>
  * Important: Do not do any initialization in the constructor. Instead use
  * {@link org.apache.camel.support.service.ServiceSupport#doInit()} or
  * {@link org.apache.camel.support.service.ServiceSupport#doStart()}.
+ *
+ * @see Consumer
+ * @see AsyncProducer
+ * @see Endpoint
  */
 public interface Producer extends Processor, Service, IsSingleton, 
EndpointAware {
 
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
 
b/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
index 7465547a3d0e..7e21d4d06253 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/ResolveEndpointFailedException.java
@@ -23,7 +23,13 @@ import org.jspecify.annotations.Nullable;
 import static org.apache.camel.util.URISupport.sanitizeUri;
 
 /**
- * A runtime exception thrown if an {@link Endpoint} cannot be resolved via URI
+ * Thrown when the {@link CamelContext} fails to resolve a URI to an {@link 
Endpoint}, for example because the scheme is
+ * unknown, the component is not on the classpath, or the URI contains invalid 
parameters.
+ * <p/>
+ * The reported URI is sanitized (credentials are masked) before being 
included in the exception message.
+ *
+ * @see Endpoint
+ * @see NoSuchEndpointException
  */
 public class ResolveEndpointFailedException extends RuntimeCamelException {
 
diff --git a/core/camel-api/src/main/java/org/apache/camel/ShutdownRoute.java 
b/core/camel-api/src/main/java/org/apache/camel/ShutdownRoute.java
index aabd489fd96f..f91099fe3149 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ShutdownRoute.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ShutdownRoute.java
@@ -32,6 +32,8 @@ import jakarta.xml.bind.annotation.XmlType;
  * <li>Defer - Will defer shutting down the route and let it be active during 
graceful shutdown. The route will be
  * shutdown at a later stage during the graceful shutdown process.</li>
  * </ul>
+ *
+ * @see ShutdownRunningTask
  */
 @XmlType
 @XmlEnum
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/ShutdownRunningTask.java 
b/core/camel-api/src/main/java/org/apache/camel/ShutdownRunningTask.java
index 4242c2875bf8..fd2e6f141ab6 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ShutdownRunningTask.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ShutdownRunningTask.java
@@ -32,6 +32,9 @@ import jakarta.xml.bind.annotation.XmlType;
  * </ul>
  * <b>Notice:</b> Most consumers only have a single task, but {@link 
org.apache.camel.BatchConsumer} can have many tasks
  * and thus this option mostly applies to this kind of consumer.
+ *
+ * @see ShutdownRoute
+ * @see BatchConsumer
  */
 @XmlType
 @XmlEnum

Reply via email to