diff --git a/docs/documentation/upgrading/topics/changes/changes-26_4_0.adoc b/docs/documentation/upgrading/topics/changes/changes-26_4_0.adoc index 3df36942910..54d625cd664 100644 --- a/docs/documentation/upgrading/topics/changes/changes-26_4_0.adoc +++ b/docs/documentation/upgrading/topics/changes/changes-26_4_0.adoc @@ -49,6 +49,17 @@ Starting with this release, and when using the original PostgreSQL driver, {proj You can override this behavior by setting your own value for `targetServerType` in the DB URL or additional properties. +=== MySQL and MariaDB wait_timeout validation + +In order to prevent connections being closed unexpectedly by the database server, it is necessary to ensure that the {project_name} +connection pool is correctly configured with respect to the server's `wait_timeout` setting. + +Starting with this release, {project_name} defines a default `db-pool-max-lifetime` of 7 hours and 50 minutes for MySQL +and MariaDB databases as the default `wait_timeout` is 8 hours. + +If the server defines a `wait_timeout` which is greater than the default, or provided, `db-pool-max-lifetime` value, then +a warning will be logged on {project_name} startup. + === Cache configuration removed from cache-ispn.xml The `conf/cache-ispn.xml` file no longer contains the default cache configurations. diff --git a/docs/guides/server/db.adoc b/docs/guides/server/db.adoc index 98cd28d85a5..0bf5124c591 100644 --- a/docs/guides/server/db.adoc +++ b/docs/guides/server/db.adoc @@ -359,3 +359,17 @@ In the same way the migrationExport to point to a specific file and location: For more information, check the link:{upgrading_guide_link}#_migrate_db[Migrating the database] documentation. + +== Configuring the connection pool + +=== MySQL and MariaDB + +In order to prevent 'No operations allowed after connection closed' exceptions from being thrown, it is necessary to ensure +that {project_name}'s connection pool has a connection maximum lifetime that is less than the server's configured `wait_timeout`. +When using the MySQL and MariaDB database, {project_name} configures a default max lifetime of 7 hours and 50 minutes, as +this is less than the default server value of 8 hours. + +If you are explicitly configuring the `wait_timeout` in your database, it is necessary to ensure that you configure a +`db-pool-max-lifetime` value that is less than the `wait_timeout`. The recommended best practice, is to define this value +to be your `wait_timeout` minus a few minutes. Failure to correctly configure the `db-pool-max-lifetime` will result in +{project_name} logging a warning on startup. diff --git a/quarkus/README.md b/quarkus/README.md index a3466111d06..9c6da944bd9 100644 --- a/quarkus/README.md +++ b/quarkus/README.md @@ -111,7 +111,7 @@ There are also some container based tests to check if Keycloak starts using one These tests are disabled by default. They using Quarkus development mode predefined database containers by default and can be run in the `tests` subdirectory by using e.g. - ../mvnw clean install -Dkc.test.storage.database=true -Dtest=MariaDBStartDatabaseTest + ../mvnw clean install -Ptest-database -Dtest=MariaDBDistTest to spin up a MariaDB container and start Keycloak with it. @@ -119,7 +119,7 @@ To use a specific database container image, use the option `-Dkc.db.postgresql.c Example: - ../mvnw clean install -Dkc.test.storage.database=true -Dtest=PostgreSQLDistTest -Dkc.db.postgresql.container.image=postgres:alpine + ../mvnw clean install -Ptest-database -Dtest=PostgreSQLDistTest -Dkc.db.postgresql.container.image=postgres:alpine ### Updating Expectations diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/DatabaseOptions.java b/quarkus/config-api/src/main/java/org/keycloak/config/DatabaseOptions.java index 4854d0d4a5c..9e7aa935794 100644 --- a/quarkus/config-api/src/main/java/org/keycloak/config/DatabaseOptions.java +++ b/quarkus/config-api/src/main/java/org/keycloak/config/DatabaseOptions.java @@ -8,6 +8,8 @@ import java.util.Map; import java.util.Optional; import java.util.function.Consumer; +import static org.keycloak.config.OptionsUtil.DURATION_DESCRIPTION; + public class DatabaseOptions { public static final Option DB_DIALECT = new OptionBuilder<>("db-dialect", String.class) @@ -89,6 +91,11 @@ public class DatabaseOptions { .description("The maximum size of the connection pool.") .build(); + public static final Option DB_POOL_MAX_LIFETIME = new OptionBuilder<>("db-pool-max-lifetime", String.class) + .category(OptionCategory.DATABASE) + .description("The maximum time a connection remains in the pool, after which it will be closed upon return and replaced as necessary. " + DURATION_DESCRIPTION) + .build(); + public static final Option DB_SQL_JPA_DEBUG = new OptionBuilder<>("db-debug-jpql", Boolean.class) .category(OptionCategory.DATABASE) .defaultValue(false) diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java index 1d8c5646068..9b0258c232d 100644 --- a/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java +++ b/quarkus/config-api/src/main/java/org/keycloak/config/HttpOptions.java @@ -6,6 +6,8 @@ import java.util.List; import org.keycloak.common.crypto.FipsMode; +import static org.keycloak.config.OptionsUtil.DURATION_DESCRIPTION; + public class HttpOptions { public static final Option HTTP_ENABLED = new OptionBuilder<>("http-enabled", Boolean.class) @@ -65,7 +67,7 @@ public class HttpOptions { public static final Option HTTPS_CERTIFICATES_RELOAD_PERIOD = new OptionBuilder<>("https-certificates-reload-period", String.class) .category(OptionCategory.HTTP) - .description("Interval on which to reload key store, trust store, and certificate files referenced by https-* options. May be a java.time.Duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable.") + .description("Interval on which to reload key store, trust store, and certificate files referenced by https-* options. " + DURATION_DESCRIPTION + " Must be greater than 30 seconds. Use -1 to disable.") .defaultValue("1h") .build(); diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/ManagementOptions.java b/quarkus/config-api/src/main/java/org/keycloak/config/ManagementOptions.java index ec20e25ae8a..0fabf25ebd2 100644 --- a/quarkus/config-api/src/main/java/org/keycloak/config/ManagementOptions.java +++ b/quarkus/config-api/src/main/java/org/keycloak/config/ManagementOptions.java @@ -19,6 +19,8 @@ package org.keycloak.config; import java.io.File; import java.util.List; +import static org.keycloak.config.OptionsUtil.DURATION_DESCRIPTION; + /** * Options for the management interface that handles management endpoints (f.e. health and metrics endpoints) */ @@ -105,8 +107,8 @@ public class ManagementOptions { public static final Option HTTPS_MANAGEMENT_CERTIFICATES_RELOAD_PERIOD = new OptionBuilder<>("https-management-certificates-reload-period", String.class) .category(OptionCategory.MANAGEMENT) .description("Interval on which to reload key store, trust store, and certificate files referenced by https-management-* options for the management server. " + - "May be a java.time.Duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. " + - "Must be greater than 30 seconds. Use -1 to disable. " + + DURATION_DESCRIPTION + + " Must be greater than 30 seconds. Use -1 to disable. " + "If not given, the value is inherited from HTTP options. " + RELEVANT_MSG) .defaultValue("1h") .build(); diff --git a/quarkus/config-api/src/main/java/org/keycloak/config/OptionsUtil.java b/quarkus/config-api/src/main/java/org/keycloak/config/OptionsUtil.java new file mode 100644 index 00000000000..a36bf2f533c --- /dev/null +++ b/quarkus/config-api/src/main/java/org/keycloak/config/OptionsUtil.java @@ -0,0 +1,22 @@ +/* + * Copyright 2025 Red Hat, Inc. and/or its affiliates + * and other contributors as indicated by the @author tags. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.keycloak.config; + +public interface OptionsUtil { + String DURATION_DESCRIPTION = "May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]."; +} diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/DatabasePropertyMappers.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/DatabasePropertyMappers.java index cf7f30f44d4..97f8aa8f3c6 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/DatabasePropertyMappers.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/configuration/mappers/DatabasePropertyMappers.java @@ -94,6 +94,11 @@ final class DatabasePropertyMappers implements PropertyMapperGrouping { .to("quarkus.datasource.jdbc.max-size") .paramLabel("size") .build(), + fromOption(DatabaseOptions.DB_POOL_MAX_LIFETIME) + .to("quarkus.datasource.jdbc.max-lifetime") + .mapFrom(DB, DatabasePropertyMappers::transformPoolMaxLifetime) + .paramLabel("duration") + .build(), fromOption(DatabaseOptions.DB_SQL_JPA_DEBUG) .build(), fromOption(DatabaseOptions.DB_SQL_LOG_SLOW_QUERIES) @@ -179,6 +184,15 @@ final class DatabasePropertyMappers implements PropertyMapperGrouping { return isDevModeDatabase(database) ? "1" : getParentPoolMinSize.get(); } + private static String transformPoolMaxLifetime(String db, ConfigSourceInterceptorContext context) { + Database.Vendor vendor = Database.getVendor(db).orElseThrow(); + return switch (vendor) { + // Default to max lifetime slightly less than the default `wait_timeout` of 8 hours + case MYSQL, MARIADB -> "PT7H50M"; + default -> ""; + }; + } + public static final class Datasources { /** diff --git a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/storage/database/jpa/QuarkusJpaConnectionProviderFactory.java b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/storage/database/jpa/QuarkusJpaConnectionProviderFactory.java index ef401223e65..723c4730680 100644 --- a/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/storage/database/jpa/QuarkusJpaConnectionProviderFactory.java +++ b/quarkus/runtime/src/main/java/org/keycloak/quarkus/runtime/storage/database/jpa/QuarkusJpaConnectionProviderFactory.java @@ -31,6 +31,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import io.quarkus.runtime.configuration.DurationConverter; import jakarta.enterprise.inject.Instance; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; @@ -40,6 +41,8 @@ import io.quarkus.arc.Arc; import org.jboss.logging.Logger; import org.keycloak.ServerStartupError; import org.keycloak.common.Version; +import org.keycloak.config.DatabaseOptions; +import org.keycloak.config.database.Database; import org.keycloak.connections.jpa.updater.JpaUpdaterProvider; import org.keycloak.connections.jpa.util.JpaUtils; import org.keycloak.migration.MigrationModelManager; @@ -52,6 +55,7 @@ import org.keycloak.provider.ProviderConfigProperty; import org.keycloak.provider.ProviderConfigurationBuilder; import org.keycloak.provider.ServerInfoAwareProviderFactory; import org.keycloak.quarkus.runtime.Environment; +import org.keycloak.quarkus.runtime.configuration.Configuration; /** * @author Stian Thorgersen @@ -94,6 +98,8 @@ public class QuarkusJpaConnectionProviderFactory extends AbstractJpaConnectionPr public void postInit(KeycloakSessionFactory factory) { super.postInit(factory); + checkMySQLWaitTimeout(); + String id = null; String version = null; String schema = getSchema(); @@ -292,4 +298,28 @@ public class QuarkusJpaConnectionProviderFactory extends AbstractJpaConnectionPr dbLock2.releaseLock(); } } + + private void checkMySQLWaitTimeout() { + String db = Configuration.getConfigValue(DatabaseOptions.DB).getValue(); + Database.Vendor vendor = Database.getVendor(db).orElseThrow(); + if (!(Database.Vendor.MYSQL == vendor || Database.Vendor.MARIADB == vendor)) + return; + + try (Connection connection = getConnection(); + Statement statement = connection.createStatement(); + ResultSet rs = statement.executeQuery("SHOW VARIABLES LIKE 'wait_timeout'")) { + if (rs.next()) { + var waitTimeout = rs.getInt(2); + var poolMaxLifetime = DurationConverter.parseDuration(Configuration.getConfigValue(DatabaseOptions.DB_POOL_MAX_LIFETIME).getValue()); + if (poolMaxLifetime.getSeconds() >= waitTimeout) { + logger.warnf("%1$s 'wait_timeout=%2$d' is less than or equal to the configured '%3$s' duration. " + + "This can cause 'No operations allowed after connection closed' exceptions, which can impact Keycloak operations. " + + "To avoid such issues, set '%3$s' to a duration smaller than '%2$d' seconds.", + vendor, waitTimeout, DatabaseOptions.DB_POOL_MAX_LIFETIME.getKey(), poolMaxLifetime); + } + } + } catch (SQLException e) { + logger.warnf(e, "Unable to validate %s 'wait_timeout' due to database exception", vendor); + } + } } diff --git a/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/cli/PicocliTest.java b/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/cli/PicocliTest.java index be38c35f86b..34350ab2cb9 100644 --- a/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/cli/PicocliTest.java +++ b/quarkus/runtime/src/test/java/org/keycloak/quarkus/runtime/cli/PicocliTest.java @@ -262,7 +262,7 @@ public class PicocliTest extends AbstractConfigurationTest { assertEquals(CommandLine.ExitCode.USAGE, nonRunningPicocli.exitCode); assertThat(nonRunningPicocli.getErrString(), containsString(Help.defaultColorScheme(Help.Ansi.AUTO) .errorText("Unknown option: '--db-pasword'") - + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); + + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-pool-max-lifetime, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); } @Test @@ -271,7 +271,7 @@ public class PicocliTest extends AbstractConfigurationTest { assertEquals(CommandLine.ExitCode.USAGE, nonRunningPicocli.exitCode); assertThat(nonRunningPicocli.getErrString(), containsString(Help.defaultColorScheme(Help.Ansi.AUTO) .errorText("Unknown option: '--db-pasword'") - + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); + + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-pool-max-lifetime, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); } @Test @@ -281,7 +281,7 @@ public class PicocliTest extends AbstractConfigurationTest { assertEquals(CommandLine.ExitCode.USAGE, nonRunningPicocli.exitCode); assertThat(nonRunningPicocli.getErrString(), containsString(Help.defaultColorScheme(Help.Ansi.AUTO) .errorText("Unknown option: '--db-pasword'") - + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); + + "\nPossible solutions: --db-url, --db-url-host, --db-url-database, --db-url-port, --db-url-properties, --db-username, --db-password, --db-schema, --db-pool-initial-size, --db-pool-min-size, --db-pool-max-size, --db-pool-max-lifetime, --db-debug-jpql, --db-log-slow-queries-threshold, --db-driver, --db")); } @Test diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MariaDBDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MariaDBDistTest.java index 4a80f633b49..bb11f983995 100644 --- a/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MariaDBDistTest.java +++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MariaDBDistTest.java @@ -47,4 +47,11 @@ public class MariaDBDistTest extends MariaDBTest { assertManualDbInitialization(cliResult, rawDistRootPath); } + @Tag(DistributionTest.STORAGE) + @Test + @Launch({"start", AbstractAutoBuildCommand.OPTIMIZED_BUILD_OPTION_LONG, "--http-enabled=true", "--hostname-strict=false", "--db-pool-max-lifetime=28800"}) + public void testWarningForTooShortLifetime(CLIResult cliResult) { + cliResult.assertMessage("set 'db-pool-max-lifetime' to a duration smaller than '28800' seconds."); + } + } diff --git a/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MySQLDistTest.java b/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MySQLDistTest.java index 7f7dd78c316..88d8f364e82 100644 --- a/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MySQLDistTest.java +++ b/quarkus/tests/integration/src/test/java/org/keycloak/it/storage/database/dist/MySQLDistTest.java @@ -29,4 +29,11 @@ public class MySQLDistTest extends MySQLTest { public void testKeycloakDbUpdateScript(CLIResult cliResult, RawDistRootPath rawDistRootPath) { assertManualDbInitialization(cliResult, rawDistRootPath); } + + @Tag(DistributionTest.STORAGE) + @Test + @Launch({"start", AbstractAutoBuildCommand.OPTIMIZED_BUILD_OPTION_LONG, "--http-enabled=true", "--hostname-strict=false", "--db-pool-max-lifetime=28800"}) + public void testWarningForTooShortLifetime(CLIResult cliResult) { + cliResult.assertMessage("set 'db-pool-max-lifetime' to a duration smaller than '28800' seconds."); + } } diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminService.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminService.approved.txt index b74e6783609..0f32ce43198 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminService.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminService.approved.txt @@ -46,6 +46,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -175,8 +180,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminUser.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminUser.approved.txt index 57b6134479e..178c2f0de14 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminUser.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testBootstrapAdminUser.approved.txt @@ -48,6 +48,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -177,8 +182,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelp.approved.txt index d68178398da..bc557427825 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelp.approved.txt @@ -41,6 +41,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -170,8 +175,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelpAll.approved.txt index b6949e18d26..eb90127368f 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testExportHelpAll.approved.txt @@ -41,6 +41,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -184,8 +189,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelp.approved.txt index e787d2458d6..e212c032116 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelp.approved.txt @@ -41,6 +41,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -170,8 +175,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelpAll.approved.txt index 36a1b8fcf4c..dd3d9433e9f 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testImportHelpAll.approved.txt @@ -41,6 +41,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -184,8 +189,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.approved.txt index 9cc753c840e..ceeec660f17 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelp.approved.txt @@ -89,6 +89,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -235,7 +240,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -307,8 +312,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.approved.txt index ce7482be15d..10f93552ed5 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartDevHelpAll.approved.txt @@ -156,6 +156,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -311,7 +316,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -397,8 +402,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.approved.txt index 478ffc06f33..4be02504111 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelp.approved.txt @@ -137,6 +137,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -283,7 +288,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -355,8 +360,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.approved.txt index 6140c47ff4d..70e49a636db 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartHelpAll.approved.txt @@ -157,6 +157,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -312,7 +317,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -398,8 +403,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.approved.txt index f640a544bdf..eeddb8b3d15 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelp.approved.txt @@ -131,6 +131,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -252,7 +257,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -309,8 +314,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.approved.txt index 142d2d3b3ef..915739daf2c 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testStartOptimizedHelpAll.approved.txt @@ -151,6 +151,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -281,7 +286,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -348,8 +353,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelp.approved.txt index 9372defb2a5..dc0be0381cf 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelp.approved.txt @@ -136,6 +136,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -282,7 +287,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -354,8 +359,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelpAll.approved.txt index 4d63b37af82..3576108c175 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityCheckHelpAll.approved.txt @@ -156,6 +156,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -311,7 +316,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -397,8 +402,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelp.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelp.approved.txt index 5c32f8dc7e6..5d038df3bca 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelp.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelp.approved.txt @@ -134,6 +134,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -280,7 +285,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -352,8 +357,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide diff --git a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelpAll.approved.txt b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelpAll.approved.txt index ad480fe78c5..8da250f5de4 100644 --- a/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelpAll.approved.txt +++ b/quarkus/tests/integration/src/test/resources/org/keycloak/it/cli/dist/approvals/cli/help/HelpCommandDistTest.testUpdateCompatibilityMetadataHelpAll.approved.txt @@ -154,6 +154,11 @@ Database: The password of the database user. --db-pool-initial-size The initial size of the connection pool. +--db-pool-max-lifetime + The maximum time a connection remains in the pool, after which it will be + closed upon return and replaced as necessary. May be an ISO 8601 duration + value, an integer number of seconds, or an integer followed by one of [ms, + h, m, s, d]. --db-pool-max-size The maximum size of the connection pool. Default: 100. --db-pool-min-size @@ -309,7 +314,7 @@ HTTP(S): The file path to a private key in PEM format. --https-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-* options. May be a java.time.Duration value, an integer + referenced by https-* options. May be an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. Default: 1h. --https-cipher-suites @@ -395,8 +400,8 @@ Management: details. Available only when http-management-scheme is inherited. --https-management-certificates-reload-period Interval on which to reload key store, trust store, and certificate files - referenced by https-management-* options for the management server. May be a - java.time.Duration value, an integer number of seconds, or an integer + referenced by https-management-* options for the management server. May be + an ISO 8601 duration value, an integer number of seconds, or an integer followed by one of [ms, h, m, s, d]. Must be greater than 30 seconds. Use -1 to disable. If not given, the value is inherited from HTTP options. Relevant only when something is exposed on the management interface - see the guide