1.4. 参考


1.4.1. 常见数据源配置参考

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

Configuration 属性

类型

default

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

Datasources

类型

default

lock quarkus.datasource.db-kind

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

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

环境变量: QUARKUS_DATASOURCE_DB_KIND

string

 

lock quarkus.datasource.db-version

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_DB_VERSION

string

 

lock quarkus.datasource.devservices.enabled

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

此 Dev Service 是否应该以 dev 模式为应用程序启动,还是测试。

除非明确设置了 JDBC URL 或被动客户端 URL,否则 dev Services 会被默认启用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_ENABLED

布尔值

 

lock quarkus.datasource.devservices.image-name

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

基于容器的 Dev Service 供应商的容器镜像名称。

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_IMAGE_NAME

string

 

lock quarkus.datasource.devservices.container-env

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

传递给容器的环境变量。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_CONTAINER_ENV

Map<String,String>

 

lock quarkus.datasource.devservices.container-properties

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

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_CONTAINER_PROPERTIES

Map<String,String>

 

lock quarkus.datasource.devservices.properties

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PROPERTIES

Map<String,String>

 

lock quarkus.datasource.devservices.port

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

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PORT

int

 

lock quarkus.datasource.devservices.command

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

用于基于容器的 Dev Service 供应商的容器 start 命令。

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_COMMAND

string

 

lock quarkus.datasource.devservices.db-name

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_DB_NAME

string

 

lock quarkus.datasource.devservices.username

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_USERNAME

string

 

lock quarkus.datasource.devservices.password

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

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_PASSWORD

string

 

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

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

要从 classpath 加载的 SQL 脚本的路径,并应用到 Dev Service 数据库。

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_INIT_SCRIPT_PATH

string

 

lock quarkus.datasource.devservices.volumes

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

要映射到容器的卷。

map 键对应于主机位置;映射值是容器位置。如果主机位置以 "classpath:" 开头,则映射会从具有只读权限的 classpath 中加载资源。

使用文件系统位置时,将生成具有读写权限的卷,可能会导致文件系统中的数据丢失或修改。

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

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_VOLUMES

Map<String,String>

 

lock quarkus.datasource.devservices.reuse

quarkus.datasource."datasource-name".devservices.reuse

dev 模式会话或测试套件执行后, 是否保持 Dev Service 容器运行,以便在下一个 dev 模式会话或测试套件执行中重复使用它们。

在 dev 模式会话或测试套件执行中,如果它们的配置(用户名、密码、环境、端口绑定、…​)没有改变,则 Quarkus 将始终重复使用 Dev Services。此功能专用于在 Quarkus 未运行时保持容器运行,以便在运行之间重复使用容器。

警告

这个功能需要在 testcontainers.properties 中明确启用,可能需要更改您在 dev 模式中配置数据初始化,并可能会无限期地运行容器,强制您停止并手动删除它们。如需更多信息 ,请参阅文档中的 此部分。

默认情况下,此配置属性设为 true,因此如果它在 testcontainers.properties 中启用它,但只想将其用于某些 Quarkus 应用程序或数据源,则最好 禁用 重复使用。

环境变量: QUARKUS_DATASOURCE_DEVSERVICES_REUSE

布尔值

true

lock quarkus.datasource.health-exclude

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

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

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

环境变量: QUARKUS_DATASOURCE_HEALTH_EXCLUDE

布尔值

false

quarkus.datasource.active

quarkus.datasource."datasource-name".active

此数据源是否应该在运行时处于活动状态。

请参阅文档中的此部分

如果数据源未激活,则不会从应用程序开始,访问对应的 Datasource CDI bean 将失败,这意味着此数据源的特定消费者(如 Hibernate ORM 持久性单元)将无法启动,除非它们也不活跃。

环境变量: QUARKUS_DATASOURCE_ACTIVE

布尔值

true

quarkus.datasource.username

quarkus.datasource."datasource-name".username

数据源用户名

环境变量: QUARKUS_DATASOURCE_USERNAME

string

 

quarkus.datasource.password

quarkus.datasource."datasource-name".password

数据源密码

环境变量: QUARKUS_DATASOURCE_PASSWORD

string

 

quarkus.datasource.credentials-provider

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

凭证供应商名称

环境变量: QUARKUS_DATASOURCE_CREDENTIALS_PROVIDER

string

 

quarkus.datasource.credentials-provider-name

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

凭据 provider bean 名称。

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

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

环境变量: QUARKUS_DATASOURCE_CREDENTIALS_PROVIDER_NAME

string

 

1.4.2. JDBC 配置参考

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

Configuration 属性

类型

default

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

5S

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>

 

Datasources

类型

default

lock quarkus.datasource.jdbc

quarkus.datasource."datasource-name".jdbc

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

环境变量: QUARKUS_DATASOURCE_ JDBC

布尔值

true

lock quarkus.datasource.jdbc.driver

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

数据源驱动程序类名称

环境变量: QUARKUS_DATASOURCE_ JDBC_DRIVER

string

 

lock quarkus.datasource.jdbc.transactions

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

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

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

环境变量: QUARKUS_DATASOURCE_ JDBC_TRANSACTIONS

enabled,xa,disabled

enabled

lock quarkus.datasource.jdbc.enable-metrics

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

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

环境变量: QUARKUS_DATASOURCE_ENABLE_METRICS

布尔值

 

lock quarkus.datasource.jdbc.tracing

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

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

环境变量: QUARKUS_DATASOURCE_ JDBC_TRACING

布尔值

false

lock quarkus.datasource.jdbc.telemetry

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

启用 OpenTelemetry JDBC 检测。

环境变量: QUARKUS_DATASOURCE_ JDBC_TELEMETRY

布尔值

false

Additional named datasources

类型

default

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_NAME__JDBC_MIN_SIZE

int

0

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

数据源池最大大小

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_MAX_SIZE

int

20

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

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_BACKGROUND_VALIDATION_INTERVAL

duration question circle

2M

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

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

环境变量: QUARKUS_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

5S

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_LEAK_DETECTION_INTERVAL

duration question circle

此功能默认为禁用。

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

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

环境变量: QUARKUS_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_NAME__JDBC_TRANSACTION_ISOLATION_LEVEL

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

 

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_EXTENDED_LEAK_REPORT

布尔值

false

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_FLUSH_ON_CLOSE

布尔值

false

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

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

环境变量: QUARKUS_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_NAME__JDBC_VALIDATION_QUERY_SQL

string

 

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_POOLING_ENABLED

布尔值

true

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_TRANSACTION_REQUIREMENT

off,warn,strict

 

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

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

环境变量: QUARKUS_DATASOURCE_NAME__JDBC_ADDITIONAL_JDBC_PROPERTIES

Map<String,String>

 

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

启用 JDBC 追踪。

环境变量: QUARKUS_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_NAME__JDBC_TRACING_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 ()Java API 文档

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

  • 如果该值只是一个数字,则代表以秒为单位。
  • 如果值是数字,后跟 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

应该检查服务器身份时使用的主机名验证算法。应该是 HTTPSLDAPSNONENONE 是默认值,禁用验证。

环境变量: QUARKUS_DATASOURCE_REACTIVE_HOSTNAME_VERIFICATION_ALGORITHM

string

NONE

quarkus.datasource.reactive.idle-timeout

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_IDLE_TIMEOUT

duration question circle

没有超时

quarkus.datasource.reactive.max-lifetime

连接在池中保留的最长时间,之后将根据需要关闭并替换它。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MAX_LIFETIME

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

应该检查服务器身份时使用的主机名验证算法。应该是 HTTPSLDAPSNONENONE 是默认值,禁用验证。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_HOSTNAME_VERIFICATION_ALGORITHM

string

NONE

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

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

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_IDLE_TIMEOUT

duration question circle

没有超时

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

连接在池中保留的最长时间,之后将根据需要关闭并替换它。

环境变量: QUARKUS_DATASOURCE__DATASOURCE_NAME__REACTIVE_MAX_LIFETIME

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 ()Java API 文档

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

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

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

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

1.4.5.1. 被动 DB2 配置

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

Datasources

类型

default

quarkus.datasource.reactive.db2.ssl

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

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE_REACTIVE_DB2_SSL

布尔值

false

1.4.5.2. 主动 MariaDB/MySQL 特定配置

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

Additional named datasources

类型

default

quarkus.datasource.reactive.mysql.charset

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

连接的 charset。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_CHARSET

string

 

quarkus.datasource.reactive.mysql.collation

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

连接合并。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_COLLATION

string

 

quarkus.datasource.reactive.mysql.ssl-mode

quarkus.datasource."datasource-name".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."datasource-name".reactive.mysql.connection-timeout

连接超时(以秒为单位)

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_CONNECTION_TIMEOUT

int

 

quarkus.datasource.reactive.mysql.authentication-plugin

quarkus.datasource."datasource-name".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

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

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_PIPELINING_LIMIT

int

 

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

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

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_MYSQL_USE_AFFECTED_ROWS

布尔值

false

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

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

Datasources

类型

default

quarkus.datasource.reactive.mssql.packet-size

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

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_MSSQL_PACKET_SIZE

int

 

quarkus.datasource.reactive.mssql.ssl

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

是否启用 SSL/TLS。

环境变量: QUARKUS_DATASOURCE_REACTIVE_MSSQL_SSL

布尔值

false

1.4.5.4. 主动 Oracle 特定的配置

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

Datasources

类型

default

1.4.5.5. 主动 PostgreSQL 特定配置

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

Datasources

类型

default

quarkus.datasource.reactive.postgresql.pipelining-limit

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

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_POSTGRESQL_PIPELINING_LIMIT

int

 

quarkus.datasource.reactive.postgresql.ssl-mode

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

客户端的 SSL 操作模式。

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

环境变量: QUARKUS_DATASOURCE_REACTIVE_POSTGRESQL_SSL_MODE

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

disable

quarkus.datasource.reactive.postgresql.use-layer7-proxy

quarkus.datasource."datasource-name".reactive.postgresql.use-layer7-proxy

级别 7 代理可以在多个连接上负载平衡到实际数据库的查询。当发生时,客户端可以被缺少会话关联和不需要的错误混淆,如 ERROR: unnamed prepared 语句不存在(26000)。请参阅使用级别 7 代理

环境变量: QUARKUS_DATASOURCE_REACTIVE_POSTGRESQL_USE_LAYER7_PROXY

布尔值

false

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.