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 c51db5b4cbf6 CAMEL-16861: Update docs
c51db5b4cbf6 is described below

commit c51db5b4cbf6628f5ef9dc132524258c8f155382
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Feb 20 17:23:53 2026 +0100

    CAMEL-16861: Update docs
---
 .../modules/ROOT/pages/getting-started.adoc        |  15 ++-
 .../modules/ROOT/pages/graceful-shutdown.adoc      |  62 ++++++++---
 .../modules/ROOT/pages/health-check.adoc           | 117 ++++++++++++---------
 .../modules/ROOT/pages/http-session-handling.adoc  |  17 ++-
 4 files changed, 139 insertions(+), 72 deletions(-)

diff --git a/docs/user-manual/modules/ROOT/pages/getting-started.adoc 
b/docs/user-manual/modules/ROOT/pages/getting-started.adoc
index 6ad2080e3272..c34c6ce99282 100644
--- a/docs/user-manual/modules/ROOT/pages/getting-started.adoc
+++ b/docs/user-manual/modules/ROOT/pages/getting-started.adoc
@@ -13,7 +13,6 @@ And some more alternative methods:
 - Using Maven Archetypes
 - Cloning an existing example to modify
 
-
 == Using online Project generators
 
 You can use https://start.spring.io/[Spring Boot Initializer] which is the 
Spring Boot
@@ -36,7 +35,7 @@ Once JBang is installed, you should be able to make sure it 
works by calling the
 [source,bash]
 ----
 $ jbang version
-0.132.1
+0.137.0
 ----
 
 After this then install Camel into JBang as follows:
@@ -51,8 +50,8 @@ Then you can check that Camel is installed and working by 
executing:
 [source,bash]
 ----
 $ camel version
-JBang version: 0.132.1
-Camel JBang version: 4.16.0
+JBang version: 0.137.0
+Camel JBang version: 4.18.0
 ----
 
 *Step 2*
@@ -96,6 +95,7 @@ Make sure to check out the xref:camel-jbang.adoc[Camel JBang] 
documentation, for
 of the Camel CLI. You will also find information how you can _export_ what you 
have built
 with the Camel CLI into a vanilla Camel Spring Boot or Camel Quarkus project.
 
+
 == Alternative ways of getting started with Camel
 
 === Adding Camel to an existing project
@@ -118,6 +118,8 @@ Among others the following are open source and provide 
support for official Apac
 - https://github.com/apache/camel-karavan[Apache Camel Karavan] - Has an 
https://karavan.space/[online UI designer] that runs in a web browser.
 - https://kaoto.io/[Kaoto] - Has also an 
https://kaotoio.github.io/kaoto/[online UI designer] that runs in a web browser.
 
+Both Camel Karavan and Kaoto can be installed as Visual Studio plugins 
directly in this IDE.
+
 === Using Maven Archetypes
 
 Apache Camel comes with a set of xref:camel-maven-archetypes.adoc[Camel Maven 
Archetypes],
@@ -128,3 +130,8 @@ you can use to create a new Camel project.
 There are tons of Camel examples hosted on GitHub that you can clone and 
modify,
 such as https://github.com/apache/camel-spring-boot-examples[Camel Spring Boot 
examples].
 
+== See Also
+
+To get familiar and learn the basic concepts of Apache Camel, then its 
recommend to check out xref:architecture.adoc[Architecture]
+and follow the links from that page.
+
diff --git a/docs/user-manual/modules/ROOT/pages/graceful-shutdown.adoc 
b/docs/user-manual/modules/ROOT/pages/graceful-shutdown.adoc
index fa1e13d247d8..6e71d6ae70e0 100644
--- a/docs/user-manual/modules/ROOT/pages/graceful-shutdown.adoc
+++ b/docs/user-manual/modules/ROOT/pages/graceful-shutdown.adoc
@@ -1,9 +1,9 @@
 = Graceful Shutdown
 
 Camel supports a pluggable shutdown strategy using
-`org.apache.camel.spi.ShutdownStrategy`. Its responsible for shutting
+`org.apache.camel.spi.ShutdownStrategy`. It's responsible for shutting
 down routes in a graceful manner. The other resources will still be
-handled by xref:camelcontext.adoc[CamelContext] to shutdown. This leaves
+handled by xref:camelcontext.adoc[CamelContext] to shut down. This leaves
 the problem at hand with properly shutting down all the routes reliably
 to the `ShutdownStrategy`.
 
@@ -13,12 +13,11 @@ doing that.
 
 == Default Shutdown Strategy
 
-The default strategy (`DefaultShutdownStrategy`) will gracefully shutdown 
routes:
+The default strategy (`DefaultShutdownStrategy`) will gracefully shut down 
routes:
 
 * in the reverse order they were started
-* let pending and current in flight exchanges run to completion before
-shutting down
-* using a timeout of 45 seconds which then forces a _hard_ shutdown
+* let pending and current in flight exchanges run to completion before 
shutting down
+* using a timeout of 45 seconds (can be configured) which then forces a _hard_ 
shutdown
 
 The settings are configurable, so you can change the timeout, and
 whether in case of timeout to force a _hard_ shutdown or ignore.
@@ -40,24 +39,40 @@ When shutting down the strategy will output to log the 
progress:
 ---------------------------------
 
 Notice how the strategy waits while there are inflight exchanges still being
-processed before it shutdown the routes and after that Camel itself.
+processed before it shut down the routes and after that Camel itself.
 
 === Suppressing logging due to timeout not allowing all inflight messages to 
complete
 
 If a graceful shutdown could not shutdown cleanly within the given
 timeout period, then Camel performs a more aggressive shutdown (hard) by
 forcing routes and thread pools etc to shut down, and the routing
-engine will reject continue processing xref:exchange.adoc[Exchange]s. If
-this happens you may see WARN logs about xref:exchange.adoc[Exchange]s
+engine will reject continue processing xref:exchange.adoc[Exchange](s). If
+this happens you may see WARN logs about xref:exchange.adoc[Exchange](s)
 being rejected and other failures due the forced shutdown.
 
 If you do not want to see these logs, you can suppress this by setting
-the option suppressLoggingOnTimeout to true.
+the option `suppressLoggingOnTimeout` to true.
 
+
+[tabs]
+====
+
+Java::
++
 [source,java]
----------------------------------
+----
 context.getShutdownStrategy().setSuppressLoggingOnTimeout(true);
----------------------------------
+----
+
+Application Properties::
++
+Or in `application.properties`:
++
+[source,properties]
+----
+camel.main.shutdownSuppressLoggingOnTimeout = true
+----
+====
 
 Notice that suppression is _a best effort_ attempt and there may still be some
 logging from 3rd party libraries, which Camel cannot control.
@@ -66,7 +81,7 @@ logging from 3rd party libraries, which Camel cannot control.
 
 If a graceful shutdown could not shutdown cleanly within the given
 timeout period, then Camel performs a more aggressive shutdown by
-forcing routes and thread pools etc to shut down. When the timeout
+forcing routes and thread pools etc. to shut down. When the timeout
 happens, then Camel logs information about the current inflight
 exchanges, which shows from which route the exchange origins, and where
 it currently is being routed. For example the logging below, shows that
@@ -91,11 +106,26 @@ duration=2017]
 If you do not want to see these logs, you can turn this off by setting
 the option logInflightExchangesOnTimeout to false.
 
+[tabs]
+====
+
+Java::
++
 [source,java]
 ---------------------------------
 context.getShutdownStrategy().setLogInflightExchangesOnTimeout(false);
 ---------------------------------
 
+Application Properties::
++
+Or in `application.properties`:
++
+[source,properties]
+----
+camel.main.logInflightExchangesOnTimeout = false
+----
+====
+
 === JMX managed
 
 The `ShutdownStrategy` is JMX aware, so you can manage it from a
@@ -161,7 +191,7 @@ It is possible to stop (will do a gracefully shut down) an 
individual route usin
 camelContext.getRouteController().stopRoute(routeId);
 ----
 
-Routes can also be stopped via JMX.
+TIP: Routes can also be stopped via JMX or external tools such as 
https://hawt.io/[Hawtio].
 
 === Stopping and marking routes as failed due to an exception
 
@@ -180,7 +210,7 @@ NOTE: The Camel xref:health-check.adoc[Health Check] detect 
the route as failed
 If the route is manually stopped, then the route is not marked as failed,
 and the xref:health-check.adoc[Health Check] will report the status as UNKNOWN.
 
-Routes can also be stopped and failed via JMX.
+TIP: Routes can also be stopped and failed via JMX or external tools such as 
https://hawt.io/[Hawtio].
 
 == Implementing custom component or ShutdownStrategy
 
@@ -196,7 +226,7 @@ on the `CamelContext` using the `setShutdownStrategy` 
method.
 === ShutdownAware
 
 The interface `org.apache.camel.spi.ShutdownAware` is an optional
-interface consumers can implement to have fine grained control during
+interface consumers can implement to have fine-grained control during
 shutdown. The `ShutdownStrategy` must be able to deal with consumers
 which implement this interface. This interface was introduced to cater
 for in memory consumers such as xref:components::seda-component.adoc[SEDA] 
which potentially
diff --git a/docs/user-manual/modules/ROOT/pages/health-check.adoc 
b/docs/user-manual/modules/ROOT/pages/health-check.adoc
index c0c4c77d1973..f041a8ebfa88 100644
--- a/docs/user-manual/modules/ROOT/pages/health-check.adoc
+++ b/docs/user-manual/modules/ROOT/pages/health-check.adoc
@@ -44,7 +44,7 @@ is named foo, then the ID is `consumer:foo`.
 Readiness and Liveness probes serve distinct purposes. Readiness indicates 
whether the application is ready to serve requests or traffic.
 Liveness probes indicates whether the application is alive and functioning. A 
health check is by default usable for both readiness and liveness checks.
 
-To check wether a health check is usable for readiness or livesness:
+To check weather a health check is usable for readiness or liveness:
 
 [source,java]
 ----
@@ -67,14 +67,18 @@ public boolean isReadiness() {
 
 == Configuring health-check
 
-Camel supports via `camel-main` to configure health-checks from configuration 
files. This is possible for runtimes that leverage `camel-main`
-such as Camel on Spring Boot, or Camel K.
+Camel supports to configure health checks from configuration files.
 
 Camel will automatically enable `context`, `routes`, `consumers`, `producers` 
and `registry` health-checks if `camel-health` is detected on the classpath.
 They are all enabled by default (except for `producers` which is disabled).
 
 However, you can configure them, for example to turn them off:
 
+[tabs]
+====
+
+Application Properties::
++
 [source,properties]
 ----
 # global option to turn health-check off (will not install health-check)
@@ -86,8 +90,9 @@ camel.health.routesEnabled=false
 camel.health.consumersEnabled=false
 camel.health.registryEnabled=false
 ----
+====
 
-The same can also be done programmatically using the Camel health api:
+The same can also be done programmatically in Java using the Camel health API:
 
 [source,java]
 ----
@@ -102,22 +107,24 @@ if (consumersHealthCheckRepository != null) {
 
 Once you have the health check exposed as a service and the application is up 
and running, you can check it by accessing the related endpoint:
 
-[source, console]
+[source,bash]
 ----
 $ curl http://localhost:9876/observe/health
 {
-    "status": "UP"
-,
+    "status": "UP",
     "checks": [
         {
             "name": "context",
-            "status": "UP"        },
+            "status": "UP"
+        },
         {
             "name": "route:route1",
-            "status": "UP"        },
+            "status": "UP"
+        },
         {
             "name": "consumer:route1",
-            "status": "UP"        }
+            "status": "UP"
+        }
     ]
 }
 ----
@@ -126,12 +133,11 @@ NOTE: the port and the path can change depending on the 
runtime used and the con
 
 When you're running on certain runtimes you will get more information by 
default. This is also possible in the `camel-main` runtime provider. However, 
you'll need to specify that as a request parameter:
 
-[source, console]
+[source,bash]
 ----
 $ curl http://localhost:9876/observe/health?data=true
 {
-    "status": "UP"
-,
+    "status": "UP",
     "checks": [
         {
             "name": "context",
@@ -155,83 +161,101 @@ $ curl http://localhost:9876/observe/health?data=true
 ...
 ----
 
-=== Configuring initial state
+=== Configuring Initial State
 
-The initial state of health-checks (readiness). There are the following 
states: UP, DOWN, UNKNOWN.
+The initial state of health checks (readiness). There are the following 
states: UP, DOWN, UNKNOWN.
 
 By default, the state is DOWN, is regarded as being pessimistic/careful. This 
means that the overall health
 checks may report as DOWN during startup and then only if everything is up and 
running flip to being UP.
 
 Setting the initial state to UP, is regarded as being optimistic. This means 
that the overall health checks may
-report as UP during startup and then if a consumer or other service is in fact 
un-healthy, then the health-checks
+report as UP during startup and then if a consumer or other service is in fact 
unhealthy, then the health checks
 can flip being DOWN.
 
-Setting the state to UNKNOWN means that some health-check would be reported in 
unknown state, especially during
+Setting the state to UNKNOWN means that some health check would be reported in 
unknown state, especially during
 early bootstrap where a consumer may not be fully initialized or validated a 
connection to a remote system.
 
 This option allows to pre-configure the state for different modes.
 
 === Excluding health-checks
 
-By default, all enabled health-checks are invoked by Camel when check the 
health status.
+By default, all enabled health checks are invoked by Camel when check the 
health status.
 
 It is possible to specify checks that should be excluded, for example a 
specific route by the route-id.
 
+[tabs]
+====
+
+Application Properties::
++
 [source,properties]
 ----
 camel.health.exclude-pattern = myroute
 ----
-
++
 You can specify multiple patterns (and use wildcards) such as:
-
++
 [source,properties]
 ----
 camel.health.exclude-pattern = myroute,foo,bar*
 ----
+====
 
 ==== Routes that are not automatically started
 
 If a route is configured to not to automatically start (`autoStartup=false`),
 then the route and its corresponding consumer health checks is always up as it 
is externally managed.
 
-=== Turning off consumer level health-checks
+=== Turning off consumer level Health Checks
 
-If routes health check is enabled then they will execute consumer 
health-checks as well
+If routes health check is enabled then they will execute consumer health 
checks as well
 as part of an aggregated response.
 
 The consumer checks can be turned off, to only use the route level checks 
(status of the route)
 
+[tabs]
+====
+
+Application Properties::
++
 [source,properties]
 ----
 camel.health.consumersEnabled=false
 ----
-
++
 You can also turn off individual consumers by prefixing the ID with 
`consumer:` and the route id:
-
++
 [source,properties]
 ----
 camel.health.exclude-pattern = consumer:myroute*
 ----
+====
 
 which will turn off checks for all consumers on routes that starts with 
`myroute` in the route ID.
 
 Or you can turn off producer based health checks by their component name:
 
+[tabs]
+====
+
+Application Properties::
++
 [source,properties]
 ----
 camel.health.exclude-pattern = producer:kafka*
 ----
-
++
 Or all AWS producer health-checks
-
++
 [source,properties]
 ----
 camel.health.exclude-pattern = producer:aws*
 ----
+====
 
-=== Turning on producer level health-checks
+=== Turning on producer level Health Checks
 
-Only consumer based health-checks is enabled by default.
+Only consumer based health checks is enabled by default.
 
 Some components (in particular AWS) provides also health checks for producers.
 These health checks can be enabled via:
@@ -243,7 +267,7 @@ camel.health.producersEnabled=true
 
 === Turning off health checks from components
 
-Some Camel components comes with health-checks.
+Some Camel components comes with health checks.
 
 For example to turn off both consumer and producer health checks from Kafka:
 
@@ -260,7 +284,7 @@ TIP: You can turn of either consumer, producer or both.
 The health check is manageable via JMX (requires `camel-management` JAR on the 
classpath).
 You can find the `DefaultHealthCheck` MBean under the `health` node in the 
Camel JMX tree.
 
-This MBean allows at runtime to manage health-checks where you can enable and 
disable checks based on their IDs.
+This MBean allows at runtime to manage health checks where you can enable and 
disable checks based on their IDs.
 As well have the latest status whether the overall health check is healthy or 
not.
 The MBean also allows invoking health checks based on IDs (or all of them).
 
@@ -308,7 +332,7 @@ There are a limited number of health checks provided by 
Camel out of the box,
 so you may need to write your own check which you can do by implementing the 
_HealthCheck_ interface
 or by extending _AbstractHealthCheck_ which provides some useful methods.
 
-To make the health-check discoverable you should annotate the class with 
`@HealthCheck` and
+To make the health check discoverable you should annotate the class with 
`@HealthCheck` and
 the _name_-check syntax.
 
 [source,java]
@@ -352,36 +376,35 @@ Then the 
xref:camel-component-maven-plugin.adoc[camel-component-maven-plugin] ca
 used to automatic generated service loader file in 
`META-INF/services/org/apache/camel/health-checks` that Camel uses
 to discover the custom health checks.
 
-You must also enable loading custom health check by setting (Camel Main, Camel 
K, or Camel Quarkus):
+You must also enable loading custom health check by setting:
+
+[tabs]
+====
 
+Application Properties::
++
 [source,properties]
 ----
 camel.main.load-health-checks = true
 ----
 
-And in Spring Boot:
-
-[source,properties]
+Java::
++
+[source,java]
 ----
-camel.springboot.load-health-checks = true
+CamelContext context = ...
+context.setLoadHealthChecks(true);
 ----
 
-And if you use the classic Spring XML, you can enable this on `<camelContext>` 
as shown:
-
+Spring XML::
++
 [source,xml]
 ----
 <camelContext loadHealthChecks="true">
     ...
 </camelContext>
 ----
-
-And of course you can also enable loading health checks from Java via 
`CamelContext`:
-
-[source,java]
-----
-CamelContext context = ...
-context.setLoadHealthChecks(true);
-----
+====
 
 TIP: The example `main-health` has a custom health check which is loadable.
 
@@ -398,7 +421,7 @@ or something else.
 
 == Writing custom Health Check for Camel components
 
-You can implement custom health checks in Camel components (currently only for 
consumers).
+You can implement custom health checks in Camel components .
 
 To do this, you implement the interface `HealthCheckAware` on your consumer 
class, which should
 return the custom health check in the getter method.
diff --git a/docs/user-manual/modules/ROOT/pages/http-session-handling.adoc 
b/docs/user-manual/modules/ROOT/pages/http-session-handling.adoc
index 716abc113fa7..595ae530b211 100644
--- a/docs/user-manual/modules/ROOT/pages/http-session-handling.adoc
+++ b/docs/user-manual/modules/ROOT/pages/http-session-handling.adoc
@@ -1,6 +1,7 @@
 = HTTP Session Handling
 
 Several Camel components can use HTTP as the underlying transport protocol.
+
 In general HTTP calls are stateless in nature, however some servers allow
 maintaining state via cookies. Cookies are often used to maintain a server
 session (e.g. via a session cookie called "JSESSIONID" with servers 
implementing
@@ -71,8 +72,13 @@ all invocations will share a session. For the third route 
the first, and the sec
 within the route share a session, but different (even parallel) invocations of 
the route will
 not share a session.
 
+[tabs]
+====
+
+Spring XML::
++
 [source,xml]
------------------------------------------------------------
+----
   <cxf:rsClient id="rsClientProxy" 
address="http://127.0.0.1:8080/CxfRsProducerSessionTest/";
     serviceClass="org.apache.camel.component.cxf.jaxrs.testbean.EchoService"
     loggingFeatureEnabled="true" />
@@ -100,7 +106,8 @@ not share a session.
 
   <bean id="instanceCookieHandler" 
class="org.apache.camel.http.common.cookie.InstanceCookieHandler"/>
   <bean id="exchangeCookieHandler" 
class="org.apache.camel.http.common.cookie.ExchangeCookieHandler"/>
------------------------------------------------------------
+----
+====
 
 Both `CookieHandler` implementations support setting a CookiePolicy to control 
the policy for storing
 cookies. Default is `CookiePolicy.ACCEPT_ORIGINAL_SERVER`.
@@ -120,8 +127,8 @@ As a workaround, you can call a 
`cookieHandler.getCookieStore()` e.g. by setting
 If you want to develop a HTTP based component that is supposed to participate 
in a session
 you have to add the following parts to your code:
 
-. Include a build reference to camel-http-common (if it is not already there)
-. Add a cookieHandler parameter to the endpoint class (together with getter 
and setter)
+. Include a build reference to `camel-http-base` (if it is not already there)
+. Add a `cookieHandler` parameter to the endpoint class (together with getter 
and setter)
 . Before your code does the HTTP call, if a cookie handler is set on the 
endpoint
 perform a `cookieHandler.loadCookies(exchange, uri)` call. It will return a
 `Map<String, List<String>>` containing the headers that need to be sent to the 
server.
@@ -133,4 +140,4 @@ perform a `cookieHandler.storeCookies(exchange, uri, m)` 
call. `m` is a
 
 NOTE: Some APIs provide more direct support for cookie handling. In this case 
it might be easier
 to get the underlying `java.net.CookieStore` with a 
`cookeManager.getCookieStore(exchange)` call
-and handle the cookies using the cookie interface provided by the underlying 
library.
\ No newline at end of file
+and handle the cookies using the cookie interface provided by the underlying 
library.

Reply via email to