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.
