1.4. 参考


1.4.1. 常见数据源配置参考

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

lock quarkus.datasource.db-kind

我们将连接到的数据库类型(例如 h2、postgresql…​)。

环境变量: QUARKUS_DATASOURCE_DB_KIND

string

 

lock quarkus.datasource.db-version

我们将连接到的数据库版本(例如'10.0').

小心

此处设置的版本号应该遵循与数据库 JDBC 驱动程序的 java.sql.DatabaseMetaData="getDatabaseProductVersion () 返回的字符串相同的编号方案。此编号方案可能与您的数据库最流行的方案不同;例如,Microsoft SQL Server 2016 版本为 13

作为规则,这里设置的版本应尽可能高,但必须小于或等于应用程序要连接到的任何数据库的版本。

高版本将提高性能和使用更多功能(例如 Hibernate ORM 可能会生成效率更高的 SQL,避免临时解决方案并利用更多数据库功能),但如果它比您要连接的数据库版本高,则可能会导致运行时异常(例如 Hibernate ORM 可能会生成无效的 SQL,以便您数据库将拒绝)。

某些扩展(如 Hibernate ORM 扩展)将尝试在启动时针对实际数据库版本检查这个版本,从而导致实际版本较低或只是在数据库无法访问时发出警告。

此属性的默认值特定于每个扩展;Hibernate ORM 扩展将默认为它支持的最旧的版本。

环境变量: QUARKUS_DATASOURCE_DB_VERSION

string

 

lock quarkus.datasource.devservices.enabled

如果 DevServices 已被显式启用或禁用。除非存在现有配置,否则 DevServices 通常会被默认启用。启用 DevServices 后,Quarkus 会在以 Dev 或 Test 模式运行时尝试自动配置和启动数据库。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_ENABLED

布尔值

 

lock quarkus.datasource.devservices.image-name

基于容器的 DevServices 提供程序的容器镜像名称。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_IMAGE_NAME

string

 

lock quarkus.datasource.devservices.port

dev 服务将侦听的可选固定端口。

如果没有定义,则会随机选择端口。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PORT

int

 

lock quarkus.datasource.devservices.command

用于基于容器的 DevServices 提供程序的容器 start 命令。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_COMMAND

string

 

lock quarkus.datasource.devservices.db-name

如果此 Dev 服务支持覆盖它,则使用数据库名称。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_DB_NAME

string

 

lock quarkus.datasource.devservices.username

如果此 Dev Service 支持覆盖它,则使用的用户名。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_USERNAME

string

 

lock quarkus.datasource.devservices.password

如果此 Dev 服务支持覆盖它,则使用密码。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PASSWORD

string

 

lock quarkus.datasource.devservices.init-script-path

要从 classpath 加载的 SQL 脚本的路径,并应用到 Dev Service 数据库。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_INIT_SCRIPT_PATH

string

 

lock quarkus.datasource.health-exclude

如果启用了数据源的常规健康检查,是否应从健康检查中排除此特定数据源。

默认情况下,健康检查包含所有配置的数据源(如果已启用)。

环境变量: QUARKUS_DATASOURCE_HEALTH_EXCLUDE

布尔值

false

lock quarkus.datasource.health.enabled

如果存在 smallrye-health 扩展,是否发布健康检查。

这是一个全局设置,不特定于数据源。

环境变量: QUARKUS_DATASOURCE_HEALTH_ENABLED

布尔值

true

lock quarkus.datasource.metrics.enabled

如果存在指标扩展,是否发布数据源指标。

这是一个全局设置,不特定于数据源。

注意

这与需要在 JDBC 数据源级别上设置的 "jdbc.enable-metrics" 属性不同,以便为该数据源启用指标集合。

环境变量: QUARKUS_DATASOURCE_METRICS_ENABLED

布尔值

false

quarkus.datasource.username

数据源用户名

环境变量: QUARKUS_DATASOURCE_USERNAME

string

 

quarkus.datasource.password

数据源密码

环境变量: QUARKUS_DATASOURCE_PASSWORD

string

 

quarkus.datasource.credentials-provider

凭证供应商名称

环境变量: QUARKUS_DATASOURCE_CREDENTIALS_PROVIDER

string

 

quarkus.datasource.credentials-provider-name

凭据 provider bean 名称。

这是实施 CredentialsProvider 的 bean 名称(如 @Named中)。它可用于在多个存在时选择凭据提供程序 bean。当只有一个凭证供应商可用时,这不需要。

对于 Vault,凭据提供程序 bean 名称为 vault-credentials-provider

环境变量: QUARKUS_DATASOURCE_CREDENTIALS_PROVIDER_NAME

string

 

lock quarkus.datasource.devservices.container-env

传递给容器的环境变量。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_CONTAINER_ENV

Map<String,String>

 

lock quarkus.datasource.devservices.container-properties

为其他容器配置传递的通用属性。

此处定义的属性是特定于数据库的属性,特别是在每个数据库开发服务实施中。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_CONTAINER_PROPERTIES

Map<String,String>

 

lock quarkus.datasource.devservices.properties

添加到数据库连接 URL 的通用属性。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PROPERTIES

Map<String,String>

 

lock quarkus.datasource.devservices.volumes

要映射到容器的卷。map 键对应于主机位置;映射值是容器位置。如果主机位置以 "classpath:" 开头,则映射会从具有只读权限的 classpath 中加载资源。使用文件系统位置时,将生成具有读写权限的卷,可能会导致文件系统中的数据丢失或修改。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_VOLUMES

Map<String,String>

 

Additional named datasources

类型

default

lock quarkus.datasource."datasource-name".db-kind

我们将连接到的数据库类型(例如 h2、postgresql…​)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DB_KIND

string

 

lock quarkus.datasource."datasource-name".db-version

我们将连接到的数据库版本(例如'10.0').

小心

此处设置的版本号应该遵循与数据库 JDBC 驱动程序的 java.sql.DatabaseMetaData="getDatabaseProductVersion () 返回的字符串相同的编号方案。此编号方案可能与您的数据库最流行的方案不同;例如,Microsoft SQL Server 2016 版本为 13

作为规则,这里设置的版本应尽可能高,但必须小于或等于应用程序要连接到的任何数据库的版本。

高版本将提高性能和使用更多功能(例如 Hibernate ORM 可能会生成效率更高的 SQL,避免临时解决方案并利用更多数据库功能),但如果它比您要连接的数据库版本高,则可能会导致运行时异常(例如 Hibernate ORM 可能会生成无效的 SQL,以便您数据库将拒绝)。

某些扩展(如 Hibernate ORM 扩展)将尝试在启动时针对实际数据库版本检查这个版本,从而导致实际版本较低或只是在数据库无法访问时发出警告。

此属性的默认值特定于每个扩展;Hibernate ORM 扩展将默认为它支持的最旧的版本。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DB_VERSION

string

 

lock quarkus.datasource."datasource-name".devservices.enabled

如果 DevServices 已被显式启用或禁用。除非存在现有配置,否则 DevServices 通常会被默认启用。启用 DevServices 后,Quarkus 会在以 Dev 或 Test 模式运行时尝试自动配置和启动数据库。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_ENABLED

布尔值

 

lock quarkus.datasource."datasource-name".devservices.image-name

基于容器的 DevServices 提供程序的容器镜像名称。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_IMAGE_NAME

string

 

lock quarkus.datasource."datasource-name".devservices.container-env

传递给容器的环境变量。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_CONTAINER_ENV

Map<String,String>

 

lock quarkus.datasource."datasource-name".devservices.container-properties

为其他容器配置传递的通用属性。

此处定义的属性是特定于数据库的属性,特别是在每个数据库开发服务实施中。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_CONTAINER_PROPERTIES

Map<String,String>

 

lock quarkus.datasource."datasource-name".devservices.properties

添加到数据库连接 URL 的通用属性。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_PROPERTIES

Map<String,String>

 

lock quarkus.datasource."datasource-name".devservices.port

dev 服务将侦听的可选固定端口。

如果没有定义,则会随机选择端口。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_PORT

int

 

lock quarkus.datasource."datasource-name".devservices.command

用于基于容器的 DevServices 提供程序的容器 start 命令。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_COMMAND

string

 

lock quarkus.datasource."datasource-name".devservices.db-name

如果此 Dev 服务支持覆盖它,则使用数据库名称。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_DB_NAME

string

 

lock quarkus.datasource."datasource-name".devservices.username

如果此 Dev Service 支持覆盖它,则使用的用户名。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_USERNAME

string

 

lock quarkus.datasource."datasource-name".devservices.password

如果此 Dev 服务支持覆盖它,则使用密码。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_PASSWORD

string

 

lock quarkus.datasource."datasource-name".devservices.init-script-path

要从 classpath 加载的 SQL 脚本的路径,并应用到 Dev Service 数据库。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_INIT_SCRIPT_PATH

string

 

lock quarkus.datasource."datasource-name".devservices.volumes

要映射到容器的卷。map 键对应于主机位置;映射值是容器位置。如果主机位置以 "classpath:" 开头,则映射会从具有只读权限的 classpath 中加载资源。使用文件系统位置时,将生成具有读写权限的卷,可能会导致文件系统中的数据丢失或修改。如果提供程序不是基于容器的数据库,如 H2 或 Derby,则这不起作用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__DEVSERVICES_VOLUMES

Map<String,String>

 

lock quarkus.datasource."datasource-name".health-exclude

如果启用了数据源的常规健康检查,是否应从健康检查中排除此特定数据源。

默认情况下,健康检查包含所有配置的数据源(如果已启用)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__HEALTH_EXCLUDE

布尔值

false

quarkus.datasource."datasource-name".username

数据源用户名

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__USERNAME

string

 

quarkus.datasource."datasource-name".password

数据源密码

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__PASSWORD

string

 

quarkus.datasource."datasource-name".credentials-provider

凭证供应商名称

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__CREDENTIALS_PROVIDER

string

 

quarkus.datasource."datasource-name".credentials-provider-name

凭据 provider bean 名称。

这是实施 CredentialsProvider 的 bean 名称(如 @Named中)。它可用于在多个存在时选择凭据提供程序 bean。当只有一个凭证供应商可用时,这不需要。

对于 Vault,凭据提供程序 bean 名称为 vault-credentials-provider

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__CREDENTIALS_PROVIDER_NAME

string

 

1.4.2. JDBC 配置参考

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

lock quarkus.datasource.jdbc

如果我们为此数据源创建 JDBC 数据源。

环境变量: QUARKUS_DATASOURCE_ JDBC

布尔值

true

lock quarkus.datasource.jdbc.driver

数据源驱动程序类名称

环境变量: QUARKUS_DATASOURCE_ JDBC_DRIVER

string

 

lock quarkus.datasource.jdbc.transactions

是否要使用常规 JDBC 事务、XA 或禁用所有事务功能。

启用 XA 时,您将需要实施 javax.sql.XADataSource 的驱动程序。

环境变量: QUARKUS_DATASOURCE_ JDBC_TRANSACTIONS

enabled,xa,disabled

enabled

lock quarkus.datasource.jdbc.enable-metrics

启用数据源指标集合。如果未指定,如果指标扩展处于活跃状态,则默认启用收集指标。

环境变量: QUARKUS_DATASOURCE_ENABLE_METRICS

布尔值

 

lock quarkus.datasource.jdbc.tracing

启用 JDBC 追踪。默认禁用此选项。

环境变量: QUARKUS_DATASOURCE_ JDBC_TRACING

布尔值

false

lock quarkus.datasource.jdbc.telemetry

启用 OpenTelemetry JDBC 检测。

环境变量: QUARKUS_DATASOURCE_ JDBC_TELEMETRY

布尔值

false

quarkus.datasource.jdbc.url

数据源 URL

环境变量: QUARKUS_DATASOURCE_ branch_URL

string

 

quarkus.datasource.jdbc.initial-size

池的初始大小。通常,您希望将初始大小设置为至少与最小大小匹配,但不强制这样做,以便允许在启动时具有延迟初始化连接的架构,同时可以在启动后保持最小池大小。

环境变量: QUARKUS_DATASOURCE_ JDBC_INITIAL_SIZE

int

 

quarkus.datasource.jdbc.min-size

数据源池最小大小

环境变量: QUARKUS_DATASOURCE_ JDBC_MIN_SIZE

int

0

quarkus.datasource.jdbc.max-size

数据源池最大大小

环境变量: QUARKUS_DATASOURCE_ JDBC_MAX_SIZE

int

20

quarkus.datasource.jdbc.background-validation-interval

我们在后台验证闲置连接的间隔。

设置为 0 可禁用后台验证。

环境变量: QUARKUS_DATASOURCE_BACKGROUND_VALIDATION_INTERVAL

duration question circle

2M

quarkus.datasource.jdbc.foreground-validation-interval

在闲置的时间超过指定间隔的连接上执行前台验证。

环境变量: QUARKUS_DATASOURCE_FOREGROUND_VALIDATION_INTERVAL

duration question circle

 

quarkus.datasource.jdbc.acquisition-timeout

取消获取新连接前的超时时间

环境变量: QUARKUS_DATASOURCE_ JDBC_ACQUISITION_TIMEOUT

duration question circle

5

quarkus.datasource.jdbc.leak-detection-interval

我们检查连接泄漏的时间间隔。

环境变量: QUARKUS_DATASOURCE_ JDBC_LEAK_DETECTION_INTERVAL

duration question circle

此功能默认为禁用。

quarkus.datasource.jdbc.idle-removal-interval

我们尝试删除闲置连接的间隔。

环境变量: QUARKUS_DATASOURCE_ JDBC_IDLE_REMOVAL_INTERVAL

duration question circle

5M

quarkus.datasource.jdbc.max-lifetime

连接的最大生命周期。

环境变量: QUARKUS_DATASOURCE_ JDBC_MAX_LIFETIME

duration question circle

默认情况下,连接的生命周期没有限制。

quarkus.datasource.jdbc.transaction-isolation-level

事务隔离级别。

环境变量: QUARKUS_DATASOURCE_ JDBC_TRANSACTION_ISOLATION_LEVEL

undefined,none,read-uncommitted,read-committed,repeatable-read,serializable

 

quarkus.datasource.jdbc.extended-leak-report

收集并显示有关泄漏连接的额外故障排除信息。

环境变量: QUARKUS_DATASOURCE_EXTENDED_LEAK_REPORT

布尔值

false

quarkus.datasource.jdbc.flush-on-close

允许在返回到池时清空连接。默认情况下不启用它。

环境变量: QUARKUS_DATASOURCE_ JDBC_FLUSH_ON_CLOSE

布尔值

false

quarkus.datasource.jdbc.detect-statement-leaks

启用后,当连接返回池时,如果没有关闭所有 open 语句的应用程序,则 Agroal 将能够生成警告。这与跟踪开放连接无关。禁用峰值性能,但仅在有高信任时不会发生泄漏。

环境变量: QUARKUS_DATASOURCE_JDBC_DETECT_STATEMENT_LEAKS

布尔值

true

quarkus.datasource.jdbc.new-connection-sql

首次使用连接时执行的查询。

环境变量: QUARKUS_DATASOURCE_ JDBC_NEW_CONNECTION_SQL

string

 

quarkus.datasource.jdbc.validation-query-sql

执行查询以验证连接。

环境变量: QUARKUS_DATASOURCE_ JDBC_VALIDATION_QUERY_SQL

string

 

quarkus.datasource.jdbc.pooling-enabled

禁用池以防止重复使用连接。当外部池管理 Connections 的生命周期时,请使用此选项。

环境变量: QUARKUS_DATASOURCE_ JDBC_POOLING_ENABLED

布尔值

true

quarkus.datasource.jdbc.transaction-requirement

在获取连接时需要活跃的事务。建议用于生产环境。警告:有些扩展会获取连接,而不会为架构更新和架构验证等操作留出一个事务。将此设置设置为 STRICT 可能会导致在这种情况下失败。

环境变量: QUARKUS_DATASOURCE_PRESS_TRANSACTION_REQUIREMENT

off,warn,strict

 

quarkus.datasource.jdbc.tracing.enabled

启用 JDBC 追踪。

环境变量: QUARKUS_DATASOURCE_ JDBC_TRACING_ENABLED

布尔值

如果 quarkus.datasource.jdbc.tracing=false 和 true,则为 false (如果 quarkus.datasource.jdbc.tracing=true)

quarkus.datasource.jdbc.tracing.trace-with-active-span-only

仅跟踪带有活跃 Span 的调用

环境变量: QUARKUS_DATASOURCE_ JDBC_TRACING_TRACE_WITH_ACTIVE_SPAN_ONLY

布尔值

false

quarkus.datasource.jdbc.tracing.ignore-for-tracing

忽略要跟踪的特定查询

环境变量: QUARKUS_DATASOURCE_TRACING_IGNORE_FOR_TRACING

string

忽略要跟踪的特定查询,多个查询可以通过分号分隔,使用 \ 转义双引号。

quarkus.datasource.jdbc.telemetry.enabled

启用 OpenTelemetry JDBC 检测。

环境变量: QUARKUS_DATASOURCE_ JDBC_TELEMETRY_ENABLED

布尔值

如果 quarkus.datasource.jdbc.telemetry=false 和 true,则为 false (如果 quarkus.datasource.jdbc.telemetry=true)

quarkus.datasource.jdbc.additional-jdbc-properties

创建新连接时要传递给 JDBC 驱动程序的其他未指定属性。

环境变量: QUARKUS_DATASOURCE_ JDBC_ADDITIONAL_ JDBC_PROPERTIES

Map<String,String>

 

Additional named datasources

类型

default

lock quarkus.datasource."datasource-name".jdbc

如果我们为此数据源创建 JDBC 数据源。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC

布尔值

true

lock quarkus.datasource."datasource-name".jdbc.driver

数据源驱动程序类名称

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_DRIVER

string

 

lock quarkus.datasource."datasource-name".jdbc.transactions

是否要使用常规 JDBC 事务、XA 或禁用所有事务功能。

启用 XA 时,您将需要实施 javax.sql.XADataSource 的驱动程序。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRANSACTIONS

enabled,xa,disabled

enabled

lock quarkus.datasource."datasource-name".jdbc.enable-metrics

启用数据源指标集合。如果未指定,如果指标扩展处于活跃状态,则默认启用收集指标。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_ENABLE_METRICS

布尔值

 

lock quarkus.datasource."datasource-name".jdbc.tracing

启用 JDBC 追踪。默认禁用此选项。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRACING

布尔值

false

lock quarkus.datasource."datasource-name".jdbc.telemetry

启用 OpenTelemetry JDBC 检测。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TELEMETRY

布尔值

false

quarkus.datasource."datasource-name".jdbc.url

数据源 URL

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_URL

string

 

quarkus.datasource."datasource-name".jdbc.initial-size

池的初始大小。通常,您希望将初始大小设置为至少与最小大小匹配,但不强制这样做,以便允许在启动时具有延迟初始化连接的架构,同时可以在启动后保持最小池大小。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_INITIAL_SIZE

int

 

quarkus.datasource."datasource-name".jdbc.min-size

数据源池最小大小

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_MIN_SIZE

int

0

quarkus.datasource."datasource-name".jdbc.max-size

数据源池最大大小

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_MAX_SIZE

int

20

quarkus.datasource."datasource-name".jdbc.background-validation-interval

我们在后台验证闲置连接的间隔。

设置为 0 可禁用后台验证。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_BACKGROUND_VALIDATION_INTERVAL

duration question circle

2M

quarkus.datasource."datasource-name".jdbc.foreground-validation-interval

在闲置的时间超过指定间隔的连接上执行前台验证。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_FOREGROUND_VALIDATION_INTERVAL

duration question circle

 

quarkus.datasource."datasource-name".jdbc.acquisition-timeout

取消获取新连接前的超时时间

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_ACQUISITION_TIMEOUT

duration question circle

5

quarkus.datasource."datasource-name".jdbc.leak-detection-interval

我们检查连接泄漏的时间间隔。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_LEAK_DETECTION_INTERVAL

duration question circle

此功能默认为禁用。

quarkus.datasource."datasource-name".jdbc.idle-removal-interval

我们尝试删除闲置连接的间隔。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_IDLE_REMOVAL_INTERVAL

duration question circle

5M

quarkus.datasource."datasource-name".jdbc.max-lifetime

连接的最大生命周期。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_MAX_LIFETIME

duration question circle

默认情况下,连接的生命周期没有限制。

quarkus.datasource."datasource-name".jdbc.transaction-isolation-level

事务隔离级别。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRANSACTION_ISOLATION_LEVEL

undefined,none,read-uncommitted,read-committed,repeatable-read,serializable

 

quarkus.datasource."datasource-name".jdbc.extended-leak-report

收集并显示有关泄漏连接的额外故障排除信息。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_EXTENDED_LEAK_REPORT

布尔值

false

quarkus.datasource."datasource-name".jdbc.flush-on-close

允许在返回到池时清空连接。默认情况下不启用它。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_FLUSH_ON_CLOSE

布尔值

false

quarkus.datasource."datasource-name".jdbc.detect-statement-leaks

启用后,当连接返回池时,如果没有关闭所有 open 语句的应用程序,则 Agroal 将能够生成警告。这与跟踪开放连接无关。禁用峰值性能,但仅在有高信任时不会发生泄漏。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_DETECT_STATEMENT_LEAKS

布尔值

true

quarkus.datasource."datasource-name".jdbc.new-connection-sql

首次使用连接时执行的查询。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_NEW_CONNECTION_SQL

string

 

quarkus.datasource."datasource-name".jdbc.validation-query-sql

执行查询以验证连接。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_VALIDATION_QUERY_SQL

string

 

quarkus.datasource."datasource-name".jdbc.pooling-enabled

禁用池以防止重复使用连接。当外部池管理 Connections 的生命周期时,请使用此选项。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_POOLING_ENABLED

布尔值

true

quarkus.datasource."datasource-name".jdbc.transaction-requirement

在获取连接时需要活跃的事务。建议用于生产环境。警告:有些扩展会获取连接,而不会为架构更新和架构验证等操作留出一个事务。将此设置设置为 STRICT 可能会导致在这种情况下失败。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRANSACTION_REQUIREMENT

off,warn,strict

 

quarkus.datasource."datasource-name".jdbc.additional-jdbc-properties

创建新连接时要传递给 JDBC 驱动程序的其他未指定属性。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_ADDITIONAL_ JDBC_PROPERTIES

Map<String,String>

 

quarkus.datasource."datasource-name".jdbc.tracing.enabled

启用 JDBC 追踪。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRACING_ENABLED

布尔值

如果 quarkus.datasource.jdbc.tracing=false 和 true,则为 false (如果 quarkus.datasource.jdbc.tracing=true)

quarkus.datasource."datasource-name".jdbc.tracing.trace-with-active-span-only

仅跟踪带有活跃 Span 的调用

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBCING_TRACE_WITH_ACTIVE_SPAN_ONLY

布尔值

false

quarkus.datasource."datasource-name".jdbc.tracing.ignore-for-tracing

忽略要跟踪的特定查询

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TRACING_IGNORE_FOR_TRACING

string

忽略要跟踪的特定查询,多个查询可以通过分号分隔,使用 \ 转义双引号。

quarkus.datasource."datasource-name".jdbc.telemetry.enabled

启用 OpenTelemetry JDBC 检测。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__ JDBC_TELEMETRY_ENABLED

布尔值

如果 quarkus.datasource.jdbc.telemetry=false 和 true,则为 false (如果 quarkus.datasource.jdbc.telemetry=true)

关于 Duration 格式

要写入持续时间值,请使用标准的 java.time.Duration 格式。如需更多信息,请参阅 Duration#parse ()javadoc

您还可以使用简化的格式,从数字开始:

  • 如果该值只是一个数字,则代表以秒为单位。
  • 如果值是数字,后跟 ms,则表示时间(毫秒)。

在其他情况下,简化的格式转换为 java.time.Duration 格式进行解析:

  • 如果该值是一个数字,后跟 hms,则使用 PT 前缀。
  • 如果该值是一个数字,后跟 d,则前缀为 P

1.4.3. JDBC URL 参考

每个支持的数据库都包含不同的 JDBC URL 配置选项。以下部分介绍了每个数据库 URL 和官方文档的链接。

1.4.3.1. DB2

jdbc:db2://<serverName>[:<portNumber>]/<databaseName>[:<key1>=<value>;[<key2>=<value2>;]]

Example
jdbc:db2://localhost:50000/MYDB:user=dbadm;password=dbadm;

有关 URL 语法和其他支持的选项的更多信息,请参阅 官方文档

1.4.3.2. Derby

jdbc:derby:[//serverName[:portNumber]/][memory:]databaseName[;property=value[;property=value]]

Example
jdbc:derby://localhost:1527/myDB, jdbc:derby:memory:myDB;create=true

Derby 是一个嵌入式数据库,可作为服务器运行(基于文件),也可以完全在内存中运行。上面列出的所有选项都可用。

如需更多信息,请参阅 官方文档

1.4.3.3. H2

jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value…​]

Example
jdbc:h2:tcp://localhost/~/test, jdbc:h2:mem:myDB

H2 是一个可在嵌入式或服务器模式下运行的数据库。它可以使用文件存储或完全在内存中运行。上面列出的所有选项都可用。

如需更多信息,请参阅 官方文档

1.4.3.4. MariaDB

JDBC:mariadb:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…​]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: < host>[:<portnumber>] or address=(host=<host>)[(port=<portnumber>)][(type=(master|slave))]

Example
jdbc:mariadb://localhost:3306/test

如需更多信息,请参阅 官方文档

1.4.3.5. Microsoft SQL 服务器

jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

Example
jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks

Microsoft SQL Server JDBC 驱动程序的工作方式基本上与其它驱动程序相同。

如需更多信息,请参阅 官方文档

1.4.3.6. MySQL

jdbc:mysql:[replication:|failover:|sequential:|aurora:]//<hostDescription>[,<hostDescription>…​]/[database][?<key1>=<value1>[&<key2>=<value2>]] hostDescription:: <host>[:< portnumber>] 或 address=(host=<host>)[(port=<portnumber>)[(port=<portnumber>)][(type=(master|slave)]

Example
jdbc:mysql://localhost:3306/test

如需更多信息,请参阅 官方文档

1.4.3.6.1. MySQL 限制

当将 Quarkus 应用程序编译到原生镜像时,对 JMX 和 Oracle Cloud Infrastructure (OCI)集成的 MySQL 支持被禁用,因为它们与 GraalVM 原生镜像不兼容。

  • 缺少 JMX 支持是以原生模式运行的自然结果,不太可能解决。
  • 不支持与 OCI 集成。

1.4.3.7. Oracle

jdbc:oracle:driver_type:@database_specifier

Example
jdbc:oracle:thin:@localhost:1521/ORCL_SVC

如需更多信息,请参阅 官方文档

1.4.3.8. PostgreSQL

jdbc:postgresql:[//][host][:port][/database][?key=value…​]

Example
jdbc:postgresql://localhost/test

不同部分的默认值如下:

主机
localhost
port
5432
database
与用户名相同

有关附加参数的更多信息,请参阅 官方文档

1.4.4. Quarkus 扩展和数据库驱动程序参考

下表列出了内置的 db-kind 值、相应的 Quarkus 扩展以及这些扩展使用的 JDBC 驱动程序。

使用其中一个内置数据源类型时,会自动解析 JDBC 和 Reactive 驱动程序,以匹配这些表中的值。

表 1.1. 数据库平台类型到 JDBC 驱动程序映射
数据库类型Quarkus 扩展驱动程序

db2

quarkus-jdbc-db2

  • JDBC: com.ibm.db2.jcc.DB2Driver
  • XA: com.ibm.db2.jcc.DB2XADataSource

Derby

quarkus-jdbc-derby

  • JDBC: org.apache.derby.jdbc.ClientDriver
  • XA: org.apache.derby.jdbc.ClientXADataSource

h2

quarkus-jdbc-h2

  • jdbc: org.h2.Driver
  • XA: org.h2.jdbcx.JdbcDataSource

mariadb

quarkus-jdbc-mariadb

  • jdbc: org.mariadb.jdbc.Driver
  • XA: org.mariadb.jdbc.MySQLDataSource

mssql

quarkus-jdbc-mssql

  • JDBC: com.microsoft.sqlserver.jdbc.SQLServerDriver
  • XA: com.microsoft.sqlserver.jdbc.SQLServerXADataSource

mysql

quarkus-jdbc-mysql

  • JDBC: com.mysql.cj.jdbc.Driver
  • XA: com.mysql.cj.jdbc.MysqlXADataSource

oracle

quarkus-jdbc-oracle

  • JDBC: oracle.jdbc.driver.OracleDriver
  • XA: oracle.jdbc.xa.client.OracleXADataSource

postgresql

quarkus-jdbc-postgresql

  • jdbc: org.postgresql.Driver
  • XA: org.postgresql.xa.PGXADataSource
表 1.2. 数据库类型到 Reactive 驱动程序映射
数据库类型Quarkus 扩展驱动

oracle

reactive-oracle-client

io.vertx.oracleclient.spi.OracleDriver

mysql

reactive-mysql-client

io.vertx.mysqlclient.spi.MySQLDriver

mssql

reactive-mssql-client

io.vertx.mssqlclient.spi.MSSQLDriver

postgresql

reactive-pg-client

io.vertx.pgclient.spi.PgDriver

db2

reactive-db2-client

io.vertx.db2client.spi.DB2Driver

提示

在大多数情况下,这个自动解析都适用,因此不需要驱动程序配置。

1.4.5. 主动数据源配置参考

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

lock quarkus.datasource.reactive

如果我们为此数据源创建主动数据源。

环境变量: QUARKUS_DATASOURCE_REACTIVE

布尔值

true

quarkus.datasource.reactive.cache-prepared-statements

准备的语句是否应在客户端上缓存。

环境变量: QUARKUS_DATASOURCE_REACTIVE_CACHE_PREPARED_STATEMENTS

布尔值

false

quarkus.datasource.reactive.url

数据源 URL。

如果设置了多个值,则此数据源会创建一个包含服务器列表而不是单个服务器的池。该池在连接建立过程中对服务器选择使用循环负载平衡。请注意,某些驱动程序可能在此上下文中不容纳多个值。

环境变量: QUARKUS_DATASOURCE_REACTIVE_URL

字符串列表

 

quarkus.datasource.reactive.max-size

数据源池最大大小。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MAX_SIZE

int

20

quarkus.datasource.reactive.event-loop-size

创建新连接对象时,池会为它分配一个事件循环。

#event-loop-size 设置为一个严格的正值时,池会以轮循方式分配任意数量的事件循环。默认情况下,使用 Quarkus 配置或计算的事件循环数量。如果 #event-loop-size 设置为零或负值,池会将当前事件循环分配给新连接。

环境变量: QUARKUS_DATASOURCE_REACTIVE_EVENT_LOOP_SIZE

int

 

quarkus.datasource.reactive.trust-all

所有服务器证书是否应该被信任。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_ALL

布尔值

false

quarkus.datasource.reactive.trust-certificate-pem

默认情况下禁用 PEM Trust 配置。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_PEM

布尔值

false

quarkus.datasource.reactive.trust-certificate-pem.certs

以逗号分隔的信任证书文件列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_PEM_CERTS

字符串列表

 

quarkus.datasource.reactive.trust-certificate-jks

JKS 配置默认为禁用。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_JKS

布尔值

false

quarkus.datasource.reactive.trust-certificate-jks.path

密钥文件的路径(JKS 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_JKS_PATH

string

 

quarkus.datasource.reactive.trust-certificate-jks.password

密钥文件的密码。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_JKS_PASSWORD

string

 

quarkus.datasource.reactive.trust-certificate-pfx

默认情况下禁用 PFX 配置。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_PFX

布尔值

false

quarkus.datasource.reactive.trust-certificate-pfx.path

密钥文件的路径(PFX 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_PFX_PATH

string

 

quarkus.datasource.reactive.trust-certificate-pfx.password

密钥的密码。

环境变量: QUARKUS_DATASOURCE_REACTIVE_TRUST_CERTIFICATE_PFX_PASSWORD

string

 

quarkus.datasource.reactive.key-certificate-pem

默认情况下禁用 PEM Key/cert 配置。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PEM

布尔值

false

quarkus.datasource.reactive.key-certificate-pem.keys

以逗号分隔的密钥文件的路径列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PEM_KEYS

字符串列表

 

quarkus.datasource.reactive.key-certificate-pem.certs

以逗号分隔的证书文件的路径列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PEM_CERTS

字符串列表

 

quarkus.datasource.reactive.key-certificate-jks

JKS 配置默认为禁用。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_JKS

布尔值

false

quarkus.datasource.reactive.key-certificate-jks.path

密钥文件的路径(JKS 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_JKS_PATH

string

 

quarkus.datasource.reactive.key-certificate-jks.password

密钥文件的密码。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_JKS_PASSWORD

string

 

quarkus.datasource.reactive.key-certificate-pfx

默认情况下禁用 PFX 配置。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PFX

布尔值

false

quarkus.datasource.reactive.key-certificate-pfx.path

密钥文件的路径(PFX 格式)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PFX_PATH

string

 

quarkus.datasource.reactive.key-certificate-pfx.password

密钥的密码。

环境变量: QUARKUS_DATASOURCE_REACTIVE_KEY_CERTIFICATE_PFX_PASSWORD

string

 

quarkus.datasource.reactive.reconnect-attempts

当无法在第一次尝试建立连接时重新连接尝试的数量。

环境变量: QUARKUS_DATASOURCE_REACTIVE_RECONNECT_ATTEMPTS

int

0

quarkus.datasource.reactive.reconnect-interval

在第一次尝试时无法建立池连接时重新连接尝试的时间间隔。

环境变量: QUARKUS_DATASOURCE_REACTIVE_RECONNECT_INTERVAL

duration question circle

PT1S

quarkus.datasource.reactive.hostname-verification-algorithm

应该检查服务器身份时使用的主机名验证算法。应该是 HTTPS、LDAPS 或空字符串。

环境变量: QUARKUS_DATASOURCE_REACTIVE_HOSTNAME_VERIFICATION_ALGORITHM

string

 

quarkus.datasource.reactive.idle-timeout

连接在池关闭前未使用的最长时间。

环境变量: QUARKUS_DATASOURCE_REACTIVE_IDLE_TIMEOUT

duration question circle

没有超时

quarkus.datasource.reactive.shared

设置为 true,以在数据源间共享池。当未设置特定名称时,可以使用 __vertx.DEFAULT 名称来区分多个共享池。

环境变量: QUARKUS_DATASOURCE_REACTIVE_SHARED

布尔值

false

quarkus.datasource.reactive.name

设置池名称,在池在数据源之间共享时使用,否则忽略。

环境变量: QUARKUS_DATASOURCE_REACTIVE_NAME

string

 

quarkus.datasource.reactive.additional-properties

在启动新连接时,要通过 Reactive SQL 客户端直接传递给数据库的其他未指定属性。

环境变量: QUARKUS_DATASOURCE_REACTIVE_ADDITIONAL_PROPERTIES

Map<String,String>

 

Additional named datasources

类型

default

lock quarkus.datasource."datasource-name".reactive

如果我们为此数据源创建主动数据源。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE

布尔值

true

quarkus.datasource."datasource-name".reactive.cache-prepared-statements

准备的语句是否应在客户端上缓存。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_CACHE_PREPARED_STATEMENTS

布尔值

false

quarkus.datasource."datasource-name".reactive.url

数据源 URL。

如果设置了多个值,则此数据源会创建一个包含服务器列表而不是单个服务器的池。该池在连接建立过程中对服务器选择使用循环负载平衡。请注意,某些驱动程序可能在此上下文中不容纳多个值。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_URL

字符串列表

 

quarkus.datasource."datasource-name".reactive.max-size

数据源池最大大小。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MAX_SIZE

int

20

quarkus.datasource."datasource-name".reactive.event-loop-size

创建新连接对象时,池会为它分配一个事件循环。

#event-loop-size 设置为一个严格的正值时,池会以轮循方式分配任意数量的事件循环。默认情况下,使用 Quarkus 配置或计算的事件循环数量。如果 #event-loop-size 设置为零或负值,池会将当前事件循环分配给新连接。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_EVENT_LOOP_SIZE

int

 

quarkus.datasource."datasource-name".reactive.trust-all

所有服务器证书是否应该被信任。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_ALL

布尔值

false

quarkus.datasource."datasource-name".reactive.trust-certificate-pem

默认情况下禁用 PEM Trust 配置。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_PEM

布尔值

false

quarkus.datasource."datasource-name".reactive.trust-certificate-pem.certs

以逗号分隔的信任证书文件列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_PEM_CERTS

字符串列表

 

quarkus.datasource."datasource-name".reactive.trust-certificate-jks

JKS 配置默认为禁用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_JKS

布尔值

false

quarkus.datasource."datasource-name".reactive.trust-certificate-jks.path

密钥文件的路径(JKS 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_JKS_PATH

string

 

quarkus.datasource."datasource-name".reactive.trust-certificate-jks.password

密钥文件的密码。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_JKS_PASSWORD

string

 

quarkus.datasource."datasource-name".reactive.trust-certificate-pfx

默认情况下禁用 PFX 配置。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_PFX

布尔值

false

quarkus.datasource."datasource-name".reactive.trust-certificate-pfx.path

密钥文件的路径(PFX 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_PFX_PATH

string

 

quarkus.datasource."datasource-name".reactive.trust-certificate-pfx.password

密钥的密码。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_TRUST_CERTIFICATE_PFX_PASSWORD

string

 

quarkus.datasource."datasource-name".reactive.key-certificate-pem

默认情况下禁用 PEM Key/cert 配置。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PEM

布尔值

false

quarkus.datasource."datasource-name".reactive.key-certificate-pem.keys

以逗号分隔的密钥文件的路径列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PEM_KEYS

字符串列表

 

quarkus.datasource."datasource-name".reactive.key-certificate-pem.certs

以逗号分隔的证书文件的路径列表(Pem 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PEM_CERTS

字符串列表

 

quarkus.datasource."datasource-name".reactive.key-certificate-jks

JKS 配置默认为禁用。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_JKS

布尔值

false

quarkus.datasource."datasource-name".reactive.key-certificate-jks.path

密钥文件的路径(JKS 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_JKS_PATH

string

 

quarkus.datasource."datasource-name".reactive.key-certificate-jks.password

密钥文件的密码。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_JKS_PASSWORD

string

 

quarkus.datasource."datasource-name".reactive.key-certificate-pfx

默认情况下禁用 PFX 配置。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PFX

布尔值

false

quarkus.datasource."datasource-name".reactive.key-certificate-pfx.path

密钥文件的路径(PFX 格式)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PFX_PATH

string

 

quarkus.datasource."datasource-name".reactive.key-certificate-pfx.password

密钥的密码。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_KEY_CERTIFICATE_PFX_PASSWORD

string

 

quarkus.datasource."datasource-name".reactive.reconnect-attempts

当无法在第一次尝试建立连接时重新连接尝试的数量。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_RECONNECT_ATTEMPTS

int

0

quarkus.datasource."datasource-name".reactive.reconnect-interval

在第一次尝试时无法建立池连接时重新连接尝试的时间间隔。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_RECONNECT_INTERVAL

duration question circle

PT1S

quarkus.datasource."datasource-name".reactive.hostname-verification-algorithm

应该检查服务器身份时使用的主机名验证算法。应该是 HTTPS、LDAPS 或空字符串。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_HOSTNAME_VERIFICATION_ALGORITHM

string

 

quarkus.datasource."datasource-name".reactive.idle-timeout

连接在池关闭前未使用的最长时间。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_IDLE_TIMEOUT

duration question circle

没有超时

quarkus.datasource."datasource-name".reactive.shared

设置为 true,以在数据源间共享池。当未设置特定名称时,可以使用 __vertx.DEFAULT 名称来区分多个共享池。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_SHARED

布尔值

false

quarkus.datasource."datasource-name".reactive.name

设置池名称,在池在数据源之间共享时使用,否则忽略。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_NAME

string

 

quarkus.datasource."datasource-name".reactive.additional-properties

在启动新连接时,要通过 Reactive SQL 客户端直接传递给数据库的其他未指定属性。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_ADDITIONAL_PROPERTIES

Map<String,String>

 
关于 Duration 格式

要写入持续时间值,请使用标准的 java.time.Duration 格式。如需更多信息,请参阅 Duration#parse ()javadoc

您还可以使用简化的格式,从数字开始:

  • 如果该值只是一个数字,则代表以秒为单位。
  • 如果值是数字,后跟 ms,则表示时间(毫秒)。

在其他情况下,简化的格式转换为 java.time.Duration 格式进行解析:

  • 如果该值是一个数字,后跟 hms,则使用 PT 前缀。
  • 如果该值是一个数字,后跟 d,则前缀为 P

1.4.5.1. 被动 DB2 配置

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

quarkus.datasource.reactive.db2.ssl

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE_REACTIVE_DB2_SSL

布尔值

false

Additional named datasources

类型

default

quarkus.datasource."datasource-name".reactive.db2.ssl

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_DB2_SSL

布尔值

false

1.4.5.2. 主动 MariaDB/MySQL 特定配置

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

quarkus.datasource.reactive.mysql.charset

连接的 charset。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_CHARSET

string

 

quarkus.datasource.reactive.mysql.collation

连接合并。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_COLLATION

string

 

quarkus.datasource.reactive.mysql.ssl-mode

与服务器连接的所需安全状态。

请参阅 MySQL 参考手册

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_SSL_MODE

禁用,preferred,required,verify-ca,verify-identity

disabled

quarkus.datasource.reactive.mysql.connection-timeout

连接超时(以秒为单位)

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_CONNECTION_TIMEOUT

int

 

quarkus.datasource.reactive.mysql.authentication-plugin

客户端应使用的身份验证插件。默认情况下,它使用由服务器在初始握手数据包中指定的插件名称。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_AUTHENTICATION_PLUGIN

默认,mysql-clear-password,mysql-native-password,sha256-password,caching-sha2-password

default

quarkus.datasource.reactive.mysql.pipelining-limit

可以管道的 inflight 数据库命令的最大数量。默认情况下禁用 pipelining。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_PIPELINING_LIMIT

int

 

quarkus.datasource.reactive.mysql.use-affected-rows

是否返回与 UPDATE 语句中 WHERE 子句匹配的行数,而不是实际更改的行数。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_USE_AFFECTED_ROWS

布尔值

false

Additional named datasources

类型

default

quarkus.datasource."datasource-name".reactive.mysql.charset

连接的 charset。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_CHARSET

string

 

quarkus.datasource."datasource-name".reactive.mysql.collation

连接合并。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_COLLATION

string

 

quarkus.datasource."datasource-name".reactive.mysql.ssl-mode

与服务器连接的所需安全状态。

请参阅 MySQL 参考手册

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_SSL_MODE

禁用,preferred,required,verify-ca,verify-identity

disabled

quarkus.datasource."datasource-name".reactive.mysql.connection-timeout

连接超时(以秒为单位)

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_CONNECTION_TIMEOUT

int

 

quarkus.datasource."datasource-name".reactive.mysql.authentication-plugin

客户端应使用的身份验证插件。默认情况下,它使用由服务器在初始握手数据包中指定的插件名称。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_AUTHENTICATION_PLUGIN

默认,mysql-clear-password,mysql-native-password,sha256-password,caching-sha2-password

default

quarkus.datasource."datasource-name".reactive.mysql.pipelining-limit

可以管道的 inflight 数据库命令的最大数量。默认情况下禁用 pipelining。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_PIPELINING_LIMIT

int

 

quarkus.datasource."datasource-name".reactive.mysql.use-affected-rows

是否返回与 UPDATE 语句中 WHERE 子句匹配的行数,而不是实际更改的行数。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MYSQL_USE_AFFECTED_ROWS

布尔值

false

1.4.5.3. 主动 Microsoft SQL 服务器特定配置

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

quarkus.datasource.reactive.mssql.packet-size

TDS 数据包所需的大小(以字节为单位)。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MSSQL_PACKET_SIZE

int

 

quarkus.datasource.reactive.mssql.ssl

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MSSQL_SSL

布尔值

false

Additional named datasources

类型

default

quarkus.datasource."datasource-name".reactive.mssql.packet-size

TDS 数据包所需的大小(以字节为单位)。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MSSQL_PACKET_SIZE

int

 

quarkus.datasource."datasource-name".reactive.mssql.ssl

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MSSQL_SSL

布尔值

false

1.4.5.4. 主动 Oracle 特定的配置

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Additional named datasources

类型

default

1.4.5.5. 主动 PostgreSQL 特定配置

lock 构建时修复的配置属性 - 所有其他配置属性可在运行时覆盖

Configuration 属性

类型

default

quarkus.datasource.reactive.postgresql.pipelining-limit

可以管道的 inflight 数据库命令的最大数量。

环境变量: QUARKUS_DATASOURCE_REACTIVE_POSTGRESQL_PIPELINING_LIMIT

int

 

quarkus.datasource.reactive.postgresql.ssl-mode

客户端的 SSL 操作模式。

请参阅 不同模式中提供的保护

环境变量: QUARKUS_DATASOURCE_REACTIVE_POSTGRESQL_SSL_MODE

禁用允许首选需要,verify-ca,verify-full

disable

Additional named datasources

类型

default

quarkus.datasource."datasource-name".reactive.postgresql.pipelining-limit

可以管道的 inflight 数据库命令的最大数量。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_POSTGRESQL_PIPELINING_LIMIT

int

 

quarkus.datasource."datasource-name".reactive.postgresql.ssl-mode

客户端的 SSL 操作模式。

请参阅 不同模式中提供的保护

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_POSTGRESQL_SSL_MODE

禁用允许首选需要,verify-ca,verify-full

disable

1.4.6. 主动数据源 URL 参考

1.4.6.1. DB2

db2://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]

Example
db2://dbuser:secretpassword@database.server.com:50000/mydb

目前,客户端支持以下参数键:

  • 主机
  • port
  • user
  • password
  • database
注意

在连接 URL 中配置参数会覆盖默认属性。

1.4.6.2. Microsoft SQL 服务器

sqlserver://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]

Example
sqlserver://dbuser:secretpassword@database.server.com:1433/mydb

目前,客户端支持以下参数键:

  • 主机
  • port
  • user
  • password
  • database
注意

在连接 URL 中配置参数会覆盖默认属性。

1.4.6.3. MySQL / MariaDB

mysql://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]

Example
mysql://dbuser:secretpassword@database.server.com:3211/mydb

目前,客户端支持以下参数键(不区分大小写):

  • 主机
  • port
  • user
  • password
  • schema
  • socket
  • useAffectedRows
注意

在连接 URL 中配置参数会覆盖默认属性。

1.4.6.4. Oracle

1.4.6.4.1. EZConnect 格式

oracle:thin:@[[protocol:]//]host[:port][/service_name][:server_mode][/instance_name][?connection properties]

Example
oracle:thin:@mydbhost1:5521/mydbservice?connect_timeout=10sec
1.4.6.4.2. TNS 别名格式

oracle:thin:@<alias_name>[?connection properties]

Example
oracle:thin:@prod_db?TNS_ADMIN=/work/tns/

1.4.6.5. PostgreSQL

postgresql://[user[:[password]]@]host[:port][/database][?<key1>=<value1>[&<key2>=<value2>]]

Example
postgresql://dbuser:secretpassword@database.server.com:5432/mydb

目前,客户端支持:

  • 以下参数键:

    • 主机
    • port
    • user
    • password
    • dbname
    • sslmode
  • 其他属性,例如:

    • application_name
    • fallback_application_name
    • search_path
    • options
注意

在连接 URL 中配置参数会覆盖默认属性。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.