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

apupier pushed a commit to branch CAMEL-22996-dropJava17
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 7308be0762fda9c89703e9f5a2f24467eb610da9
Author: AurĂ©lien Pupier <[email protected]>
AuthorDate: Fri Oct 16 09:45:26 2026 +0200

    CAMEL-22996: update documentation to reflect Java 21 minimum
    
    Co-authored-by: IBM Bob 2.2.1
---
 .../org/apache/camel/catalog/docs/crypto-dataformat.adoc |  2 +-
 .../org/apache/camel/catalog/docs/ldap-component.adoc    |  2 +-
 .../resources/org/apache/camel/catalog/docs/main.adoc    |  8 ++++----
 .../org/apache/camel/catalog/schemas/camel-spring.xsd    |  6 +++---
 .../camel-crypto/src/main/docs/crypto-dataformat.adoc    |  2 +-
 components/camel-ldap/src/main/docs/ldap-component.adoc  |  2 +-
 .../apache/camel/support/jsse/KeyManagersParameters.java |  2 +-
 .../apache/camel/support/jsse/KeyStoreParameters.java    |  2 +-
 .../apache/camel/support/jsse/SSLContextParameters.java  |  4 ++--
 .../camel/support/jsse/SecureRandomParameters.java       |  2 +-
 .../camel/support/jsse/TrustManagersParameters.java      |  2 +-
 .../camel/model/app/SSLContextParametersDefinition.java  |  8 ++++----
 .../jsse/AbstractKeyManagersParametersFactoryBean.java   |  2 +-
 .../util/jsse/AbstractKeyStoreParametersFactoryBean.java |  2 +-
 .../jsse/AbstractSSLContextParametersFactoryBean.java    |  2 +-
 .../jsse/AbstractSecureRandomParametersFactoryBean.java  |  2 +-
 .../jsse/AbstractTrustManagersParametersFactoryBean.java |  2 +-
 core/camel-main/src/main/docs/main.adoc                  |  8 ++++----
 .../apache/camel/main/SSLConfigurationProperties.java    | 16 ++++++++--------
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc  |  4 ++++
 .../modules/ROOT/pages/camel-jbang-getting-started.adoc  |  2 +-
 .../modules/ROOT/pages/camel-jbang-launcher-install.adoc |  4 ++--
 docs/user-manual/modules/ROOT/pages/virtual-threads.adoc |  2 +-
 .../modules/ROOT/pages/what-are-the-dependencies.adoc    |  1 +
 24 files changed, 47 insertions(+), 42 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/crypto-dataformat.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/crypto-dataformat.adoc
index d593c0599e27..fc94829d84aa 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/crypto-dataformat.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/crypto-dataformat.adoc
@@ -87,7 +87,7 @@ from("direct:hmac-algorithm")
     .to("mock:unencrypted");
 ----
 
-A list of the available algorithms in Java 17 is available via the 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html[Java
 Security Standard Algorithm Names] documentation.
+A list of the available algorithms in Java 21 is available via the 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html[Java
 Security Standard Algorithm Names] documentation.
 
 
 == Specifying an Initialization Vector
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ldap-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ldap-component.adoc
index 530281403fea..4304d882969d 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ldap-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/ldap-component.adoc
@@ -37,7 +37,7 @@ ldap:ldapServerBean[?options]
 ----
 
 The _ldapServerBean_ portion of the URI refers to a
-https://docs.oracle.com/en/java/javase/17/docs/api/java.naming/javax/naming/directory/DirContext.html[DirContext]
+https://docs.oracle.com/en/java/javase/21/docs/api/java.naming/javax/naming/directory/DirContext.html[DirContext]
 bean in the registry. The LDAP component only supports producer
 endpoints, which means that an `ldap` URI cannot appear in the `from` at
 the start of a route.
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/main.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/main.adoc
index a780e2eabb67..75306c4f9e1f 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/main.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/main.adoc
@@ -356,19 +356,19 @@ The camel.ssl supports 28 options, which are listed below.
 | `camel.ssl.cipherSuitesInclude` | Filters TLS/SSL cipher suites algorithms 
names. This filter is used for including algorithms that matches the naming 
pattern. Multiple names can be separated by comma. Notice that if the 
cipherSuites option has been configured then the include/exclude filters are 
not in use. |  | String
 | `camel.ssl.clientAuthentication` | Sets the configuration for server-side 
client-authentication requirements | NONE | String
 | `camel.ssl.enabled` | Enables SSL in your Camel application. | false | 
boolean
-| `camel.ssl.keyManagerAlgorithm` | Algorithm name used for creating the 
KeyManagerFactory. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.keyManagerAlgorithm` | Algorithm name used for creating the 
KeyManagerFactory. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.keyManagerProvider` | To use a specific provider for creating 
KeyManagerFactory. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
 | `camel.ssl.keyStore` | The key store to load. The key store is by default 
loaded from classpath. If you must load from file system, then use file: as 
prefix. file:nameOfFile (to refer to the file system) classpath:nameOfFile (to 
refer to the classpath; default) http:uri (to load the resource using HTTP) 
ref:nameOfBean (to lookup an existing KeyStore instance from the registry, for 
example for testing and development). |  | String
 | `camel.ssl.keystorePassword` | Sets the SSL Keystore password. |  | String
 | `camel.ssl.keyStoreProvider` | To use a specific provider for creating 
KeyStore. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.keyStoreType` | The type of the key store to load. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.keyStoreType` | The type of the key store to load. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.namedGroups` | List of TLS/SSL named groups (key exchange 
groups). Multiple names can be separated by comma. Named groups control which 
key exchange algorithms are available during the TLS handshake, including 
post-quantum hybrid groups such as X25519MLKEM768. |  | String
 | `camel.ssl.namedGroupsExclude` | Filters TLS/SSL named groups. This filter 
is used for excluding named groups that match the naming pattern. Multiple 
names can be separated by comma. Notice that if the namedGroups option has been 
configured then the include/exclude filters are not in use. |  | String
 | `camel.ssl.namedGroupsInclude` | Filters TLS/SSL named groups. This filter 
is used for including named groups that match the naming pattern. Multiple 
names can be separated by comma. Notice that if the namedGroups option has been 
configured then the include/exclude filters are not in use. |  | String
 | `camel.ssl.provider` | To use a specific provider for creating SSLContext. 
The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.secureRandomAlgorithm` | Algorithm name used for creating the 
SecureRandom. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.secureRandomAlgorithm` | Algorithm name used for creating the 
SecureRandom. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.secureRandomProvider` | To use a specific provider for creating 
SecureRandom. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.secureSocketProtocol` | The protocol for the secure sockets 
created by the SSLContext. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 | TLSv1.3 | String
+| `camel.ssl.secureSocketProtocol` | The protocol for the secure sockets 
created by the SSLContext. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 | TLSv1.3 | String
 | `camel.ssl.selfSigned` | Whether to generate a self-signed certificate for 
development use when no keystore is configured. This can be used in development 
environment to easily enable HTTPS without providing a keystore. Do NOT use 
this in production as the certificate is not trusted and is regenerated on each 
restart. | false | boolean
 | `camel.ssl.selfSignedKeyType` | The key algorithm to use when generating the 
self-signed certificate for development use (requires selfSigned to be 
enabled). Supported values are EC (default, NIST P-256) and RSA (2048-bit). | 
EC | String
 | `camel.ssl.sessionTimeout` | Timeout in seconds to use for SSLContext. The 
default is 24 hours. | 86400 | int
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
index e438e41c1419..a444862d01e1 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/schemas/camel-spring.xsd
@@ -3039,7 +3039,7 @@ The password for reading/opening/verifying the key store.
             <xs:documentation xml:lang="en">
 <![CDATA[
 The type of the key store to create and load. See
-https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html.
+https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html.
 ]]>
             </xs:documentation>
           </xs:annotation>
@@ -3075,7 +3075,7 @@ To lookup an existing KeyStore instance from the 
registry, for example for testi
 <![CDATA[
 The Random Number Generator algorithm identifier for the SecureRandom factory 
method used to create the SecureRandom
 represented by this object's configuration. See
-https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html.
+https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html.
 ]]>
             </xs:documentation>
           </xs:annotation>
@@ -17667,7 +17667,7 @@ The provider identifier for the JSSE implementation to 
use when constructing an
             <xs:documentation xml:lang="en">
 <![CDATA[
 The protocol for the secure sockets created by the SSLContext represented by 
this instance's configuration. See
-https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html.
+https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html.
 ]]>
             </xs:documentation>
           </xs:annotation>
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc 
b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index d593c0599e27..fc94829d84aa 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -87,7 +87,7 @@ from("direct:hmac-algorithm")
     .to("mock:unencrypted");
 ----
 
-A list of the available algorithms in Java 17 is available via the 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html[Java
 Security Standard Algorithm Names] documentation.
+A list of the available algorithms in Java 21 is available via the 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html[Java
 Security Standard Algorithm Names] documentation.
 
 
 == Specifying an Initialization Vector
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc 
b/components/camel-ldap/src/main/docs/ldap-component.adoc
index 530281403fea..4304d882969d 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -37,7 +37,7 @@ ldap:ldapServerBean[?options]
 ----
 
 The _ldapServerBean_ portion of the URI refers to a
-https://docs.oracle.com/en/java/javase/17/docs/api/java.naming/javax/naming/directory/DirContext.html[DirContext]
+https://docs.oracle.com/en/java/javase/21/docs/api/java.naming/javax/naming/directory/DirContext.html[DirContext]
 bean in the registry. The LDAP component only supports producer
 endpoints, which means that an `ldap` URI cannot appear in the `from` at
 the start of a route.
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
index 2dc57e9fb2f2..7c140d5f7a9f 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyManagersParameters.java
@@ -141,7 +141,7 @@ public class KeyManagersParameters extends JsseParameters {
      * The algorithm name for the {@link KeyManagerFactory} used to create the 
{@link KeyManager}s represented by this
      * object's configuration. See the
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      *
      * @param value the desired algorithm or {@code null} to use default
      * @see         KeyManagerFactory#getDefaultAlgorithm()
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyStoreParameters.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyStoreParameters.java
index c4dcd4681e53..74e8d64127fc 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyStoreParameters.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/KeyStoreParameters.java
@@ -50,7 +50,7 @@ public class KeyStoreParameters extends JsseParameters {
     /**
      * The type of the key store to create and load.
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public void setType(@Nullable String value) {
         this.type = value;
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextParameters.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextParameters.java
index c03190c78060..093d50a82dc1 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextParameters.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/SSLContextParameters.java
@@ -101,7 +101,7 @@ public class SSLContextParameters extends 
BaseSSLContextParameters {
      * The optional protocol for the secure sockets created by the {@link 
SSLContext} represented by this instance's
      * configuration.
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     private @Nullable String secureSocketProtocol;
 
@@ -212,7 +212,7 @@ public class SSLContextParameters extends 
BaseSSLContextParameters {
      * Sets the optional protocol for the secure sockets created by the {@link 
SSLContext} represented by this
      * instance's configuration. Defaults to TLS.
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      *
      * @param secureSocketProtocol the name of the protocol or {@code null} to 
use the default (TLS)
      */
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/SecureRandomParameters.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/SecureRandomParameters.java
index 9ab5bd5eb72e..5b68c31fee28 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/SecureRandomParameters.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/SecureRandomParameters.java
@@ -64,7 +64,7 @@ public class SecureRandomParameters extends JsseParameters {
      * Sets the Random Number Generator (RNG) algorithm identifier for the 
{@link SecureRandom} factory method used to
      * create the {@link SecureRandom} represented by this object's 
configuration.
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      *
      * @param value the algorithm identifier
      */
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
index 3a021422dcd7..4188b752f9e6 100644
--- 
a/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
+++ 
b/core/camel-api/src/main/java/org/apache/camel/support/jsse/TrustManagersParameters.java
@@ -125,7 +125,7 @@ public class TrustManagersParameters extends JsseParameters 
{
      * Sets optional algorithm name for the {@link TrustManagerFactory} used 
to create the {@link TrustManager}s
      * represented by this object's configuration.
      *
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      *
      * @param value the desired algorithm or {@code null} to use default
      * @see         TrustManagerFactory#getDefaultAlgorithm()
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/SSLContextParametersDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/SSLContextParametersDefinition.java
index 3d9ca6f3f962..bfbb92245dbe 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/app/SSLContextParametersDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/app/SSLContextParametersDefinition.java
@@ -85,7 +85,7 @@ public class SSLContextParametersDefinition {
     @XmlAttribute
     @Metadata(label = "advanced", defaultValue = "TLSv1.3",
               description = "The protocol for the secure sockets created by 
the SSLContext."
-                            + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                            + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     private String secureSocketProtocol;
 
     @XmlAttribute
@@ -177,7 +177,7 @@ public class SSLContextParametersDefinition {
     @XmlAttribute
     @Metadata(label = "advanced",
               description = "The type of the key store to load."
-                            + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                            + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     private String keyStoreType;
 
     @XmlAttribute
@@ -214,7 +214,7 @@ public class SSLContextParametersDefinition {
     @XmlAttribute
     @Metadata(label = "advanced",
               description = "Algorithm name used for creating the 
KeyManagerFactory."
-                            + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                            + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     private String keyManagerAlgorithm;
 
     @XmlAttribute
@@ -227,7 +227,7 @@ public class SSLContextParametersDefinition {
     @XmlAttribute
     @Metadata(label = "advanced",
               description = "Algorithm name used for creating the 
SecureRandom."
-                            + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                            + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     private String secureRandomAlgorithm;
 
     @XmlAttribute
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
index ba10232bdd20..f1e07c403e83 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyManagersParametersFactoryBean.java
@@ -46,7 +46,7 @@ public abstract class 
AbstractKeyManagersParametersFactoryBean extends AbstractJ
     @XmlAttribute
     @Metadata(label = "advanced", description = "The algorithm name for the 
KeyManagerFactory used to create"
                                                 + " the KeyManagers 
represented by this object's configuration."
-                                                + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                                                + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     protected String algorithm;
 
     @XmlTransient
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
index 122a61d1e480..7b7f5d1fc32f 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractKeyStoreParametersFactoryBean.java
@@ -43,7 +43,7 @@ public abstract class AbstractKeyStoreParametersFactoryBean 
extends AbstractJsse
     protected String password;
     @XmlAttribute
     @Metadata(label = "advanced", description = "The type of the key store to 
create and load."
-                                                + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                                                + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     protected String type;
     @XmlAttribute
     @Metadata(label = "advanced", description = "The provider identifier for 
instantiating the key store")
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSSLContextParametersFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSSLContextParametersFactoryBean.java
index e29a61b21ead..15e494fc0fc1 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSSLContextParametersFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSSLContextParametersFactoryBean.java
@@ -38,7 +38,7 @@ public abstract class AbstractSSLContextParametersFactoryBean
     @XmlAttribute
     @Metadata(label = "advanced", description = "The protocol for the secure 
sockets created by the SSLContext"
                                                 + " represented by this 
instance's configuration."
-                                                + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                                                + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     private String secureSocketProtocol;
 
     @XmlAttribute
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
index 20c4559b833d..291056fd37a1 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractSecureRandomParametersFactoryBean.java
@@ -30,7 +30,7 @@ public abstract class 
AbstractSecureRandomParametersFactoryBean extends Abstract
 
     @XmlAttribute(required = true)
     @Metadata(description = "The Random Number Generator algorithm identifier 
for the SecureRandom factory method used to create the SecureRandom represented 
by this object's configuration."
-                            + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                            + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     protected String algorithm;
 
     @XmlAttribute
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
index da833171038c..79de0bdd6ef9 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/util/jsse/AbstractTrustManagersParametersFactoryBean.java
@@ -39,7 +39,7 @@ public abstract class 
AbstractTrustManagersParametersFactoryBean extends Abstrac
     @XmlAttribute
     @Metadata(label = "advanced", description = "The optional algorithm name 
for the TrustManagerFactory used to"
                                                 + " create the TrustManagers 
represented by this objects configuration."
-                                                + " See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html";)
+                                                + " See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html";)
     protected String algorithm;
 
     @XmlAttribute
diff --git a/core/camel-main/src/main/docs/main.adoc 
b/core/camel-main/src/main/docs/main.adoc
index a780e2eabb67..75306c4f9e1f 100644
--- a/core/camel-main/src/main/docs/main.adoc
+++ b/core/camel-main/src/main/docs/main.adoc
@@ -356,19 +356,19 @@ The camel.ssl supports 28 options, which are listed below.
 | `camel.ssl.cipherSuitesInclude` | Filters TLS/SSL cipher suites algorithms 
names. This filter is used for including algorithms that matches the naming 
pattern. Multiple names can be separated by comma. Notice that if the 
cipherSuites option has been configured then the include/exclude filters are 
not in use. |  | String
 | `camel.ssl.clientAuthentication` | Sets the configuration for server-side 
client-authentication requirements | NONE | String
 | `camel.ssl.enabled` | Enables SSL in your Camel application. | false | 
boolean
-| `camel.ssl.keyManagerAlgorithm` | Algorithm name used for creating the 
KeyManagerFactory. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.keyManagerAlgorithm` | Algorithm name used for creating the 
KeyManagerFactory. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.keyManagerProvider` | To use a specific provider for creating 
KeyManagerFactory. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
 | `camel.ssl.keyStore` | The key store to load. The key store is by default 
loaded from classpath. If you must load from file system, then use file: as 
prefix. file:nameOfFile (to refer to the file system) classpath:nameOfFile (to 
refer to the classpath; default) http:uri (to load the resource using HTTP) 
ref:nameOfBean (to lookup an existing KeyStore instance from the registry, for 
example for testing and development). |  | String
 | `camel.ssl.keystorePassword` | Sets the SSL Keystore password. |  | String
 | `camel.ssl.keyStoreProvider` | To use a specific provider for creating 
KeyStore. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.keyStoreType` | The type of the key store to load. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.keyStoreType` | The type of the key store to load. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.namedGroups` | List of TLS/SSL named groups (key exchange 
groups). Multiple names can be separated by comma. Named groups control which 
key exchange algorithms are available during the TLS handshake, including 
post-quantum hybrid groups such as X25519MLKEM768. |  | String
 | `camel.ssl.namedGroupsExclude` | Filters TLS/SSL named groups. This filter 
is used for excluding named groups that match the naming pattern. Multiple 
names can be separated by comma. Notice that if the namedGroups option has been 
configured then the include/exclude filters are not in use. |  | String
 | `camel.ssl.namedGroupsInclude` | Filters TLS/SSL named groups. This filter 
is used for including named groups that match the naming pattern. Multiple 
names can be separated by comma. Notice that if the namedGroups option has been 
configured then the include/exclude filters are not in use. |  | String
 | `camel.ssl.provider` | To use a specific provider for creating SSLContext. 
The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.secureRandomAlgorithm` | Algorithm name used for creating the 
SecureRandom. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 |  | String
+| `camel.ssl.secureRandomAlgorithm` | Algorithm name used for creating the 
SecureRandom. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 |  | String
 | `camel.ssl.secureRandomProvider` | To use a specific provider for creating 
SecureRandom. The list of available providers returned by 
java.security.Security.getProviders() or null to use the highest priority 
provider implementing the secure socket protocol. |  | String
-| `camel.ssl.secureSocketProtocol` | The protocol for the secure sockets 
created by the SSLContext. See 
\https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
 | TLSv1.3 | String
+| `camel.ssl.secureSocketProtocol` | The protocol for the secure sockets 
created by the SSLContext. See 
\https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
 | TLSv1.3 | String
 | `camel.ssl.selfSigned` | Whether to generate a self-signed certificate for 
development use when no keystore is configured. This can be used in development 
environment to easily enable HTTPS without providing a keystore. Do NOT use 
this in production as the certificate is not trusted and is regenerated on each 
restart. | false | boolean
 | `camel.ssl.selfSignedKeyType` | The key algorithm to use when generating the 
self-signed certificate for development use (requires selfSigned to be 
enabled). Supported values are EC (default, NIST P-256) and RSA (2048-bit). | 
EC | String
 | `camel.ssl.sessionTimeout` | Timeout in seconds to use for SSLContext. The 
default is 24 hours. | 86400 | int
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/SSLConfigurationProperties.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/SSLConfigurationProperties.java
index 24ace35c4441..1b62137a9010 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/SSLConfigurationProperties.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/SSLConfigurationProperties.java
@@ -130,7 +130,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * The protocol for the secure sockets created by the SSLContext.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public void setSecureSocketProtocol(String secureSocketProtocol) {
         this.secureSocketProtocol = secureSocketProtocol;
@@ -317,7 +317,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * The type of the key store to load.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public void setKeyStoreType(String keyStoreType) {
         this.keyStoreType = keyStoreType;
@@ -422,7 +422,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * Algorithm name used for creating the KeyManagerFactory.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public void setKeyManagerAlgorithm(String keyManagerAlgorithm) {
         this.keyManagerAlgorithm = keyManagerAlgorithm;
@@ -449,7 +449,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * Algorithm name used for creating the SecureRandom.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public void setSecureRandomAlgorithm(String secureRandomAlgorithm) {
         this.secureRandomAlgorithm = secureRandomAlgorithm;
@@ -502,7 +502,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * The optional protocol for the secure sockets created by the SSLContext.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public SSLConfigurationProperties withSecureSocketProtocol(String 
secureSocketProtocol) {
         this.secureSocketProtocol = secureSocketProtocol;
@@ -650,7 +650,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * The type of the key store to load.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public SSLConfigurationProperties withKeyStoreType(String keyStoreType) {
         this.keyStoreType = keyStoreType;
@@ -731,7 +731,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * Algorithm name used for creating the KeyManagerFactory.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public SSLConfigurationProperties withKeyManagerAlgorithm(String 
keyManagerAlgorithm) {
         this.keyManagerAlgorithm = keyManagerAlgorithm;
@@ -752,7 +752,7 @@ public class SSLConfigurationProperties implements 
BootstrapCloseable {
     /**
      * Algorithm name used for creating the SecureRandom.
      * <p>
-     * See 
https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html
+     * See 
https://docs.oracle.com/en/java/javase/21/docs/specs/security/standard-names.html
      */
     public SSLConfigurationProperties withSecureRandomAlgorithm(String 
secureRandomAlgorithm) {
         this.secureRandomAlgorithm = secureRandomAlgorithm;
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
index d560b88d9dda..7a7136e661c4 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_24.adoc
@@ -1142,3 +1142,7 @@ The consumer now sets the `CamelMiloNodeId` header on 
every exchange, including
 Stopping a consumer now deletes its monitored items. Previously they stayed on 
the server while another endpoint kept
 the shared connection open, so a restarted consumer received each value twice. 
While the server is unreachable, the
 stop waits until the client's next attempt to reconnect has failed.
+
+=== Java
+
+Camel 4.24 requires Java 21 as the minimum runtime version. Java 17 is no 
longer supported.
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc
index 996ad00194d3..11a69dddc904 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-getting-started.adoc
@@ -4,7 +4,7 @@ Three commands. That is all it takes to go from zero to a 
running integration.
 
 == Install
 
-Install the Camel CLI with the installer script, which needs only Java 17 or 
later:
+Install the Camel CLI with the installer script, which needs only Java 21 or 
later:
 
 [source,bash]
 ----
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-jbang-launcher-install.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-jbang-launcher-install.adoc
index 7aae2600a640..b14e96d17b6c 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-jbang-launcher-install.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-jbang-launcher-install.adoc
@@ -22,7 +22,7 @@ version can be requested instead with `--version X.Y.Z` 
(`install.sh`) or `-Vers
 Both installers download the release archive from Maven Central, verify it 
against a SHA-256
 recorded in a signed-path manifest before extracting it, and reject archives 
containing absolute
 paths, `../` traversal, escaping symlinks/reparse points, or more than one 
top-level directory. The
-staged launcher is run once to confirm a Java 17+ runtime can be discovered; 
if that check fails,
+staged launcher is run once to confirm a Java 21+ runtime can be discovered; 
if that check fails,
 the previously active installation, if any, is left untouched and the 
installer exits nonzero.
 
 == Installing a specific version
@@ -44,7 +44,7 @@ irm https://camel.apache.org/install.ps1 -OutFile install.ps1
 
 == Requirements
 
-* A Java 17+ runtime available at install and run time. The launcher locates 
Java from
+* A Java 21+ runtime available at install and run time. The launcher locates 
Java from
   `JAVACMD`, `JAVA_HOME`, or `PATH`.
 * Linux and macOS: `curl` or `wget`; `tar`; and one of `sha256sum`, `shasum`, 
or `openssl`.
 * Windows: PowerShell 5.1 or later (`Invoke-WebRequest`, `Expand-Archive`, 
`Get-FileHash`).
diff --git a/docs/user-manual/modules/ROOT/pages/virtual-threads.adoc 
b/docs/user-manual/modules/ROOT/pages/virtual-threads.adoc
index f2a28dbc992e..3618ad51ca33 100644
--- a/docs/user-manual/modules/ROOT/pages/virtual-threads.adoc
+++ b/docs/user-manual/modules/ROOT/pages/virtual-threads.adoc
@@ -820,7 +820,7 @@ Apache Camel provides the `ContextValue` abstraction that 
automatically chooses
 |===
 | JDK Version | Virtual Threads Enabled | Implementation
 
-| JDK 17-24
+| JDK 21-24
 | N/A
 | ThreadLocal
 
diff --git a/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc 
b/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
index a80d9581c0b4..b57e42c6b3b6 100644
--- a/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
+++ b/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
@@ -7,6 +7,7 @@
 - Camel 3.15.0+ requires JDK 11
 - Camel 3.17.0+ requires JDK 11 and supports JDK 17
 - Camel 4.0.0+ requires JDK 17 and supports JDK 21
+- Camel 4.24.0+ requires JDK 21
 
 You can use Camel CLI which lists up-to-date JDK requirements for every Camel 
release.
 

Reply via email to