JdbcDataSource
Manages connections to a JDBC data source.
Usage
{ "name": string, "type": "JdbcDataSource", "config": { "dataSourceClassName": configuration expression<string>, "driverClassName": configuration expression<string>, "executor": object, "jdbcUrl": configuration expression<url>, "passwordSecretId": configuration expression<secret-id>, "poolName": configuration expression<string>, "properties": object, "secretsProvider": SecretsProvider reference, "username": configuration expression<string> } }
Properties
"dataSourceClassName"
: configuration expression<string>, optionalThe data source class name to use to connect to the database.
Depending on the underlying data source, use either
jdbcUrl
, ordataSourceClassName
withurl
. See the "Properties"."driverClassName"
: configuration expression<string>, optionalClass name of the JDBC connection driver. The following examples can be used:
MySQL Connector/J:
com.mysql.jdbc.Driver
H2:
org.h2.Driver
This property is optional, but required for older JDBC drivers.
"executor"
: ScheduledExecutorService reference, optionalThe service to schedule the execution of maintenance tasks.
Default: "ScheduledExecutorService".
"jdbcUrl"
: configuration expression<string>, optionalThe JDBC URL to use to connect to the database.
Depending on the underlying data source, use either
jdbcUrl
, ordataSourceClassName
withurl
. See the "Properties"."passwordSecretId"
: configuration expression<secret-id>, required if the database is password-protectedThe secret ID of the password to access the database.
"poolName"
: configuration expression<string>, optionalThe connection pool name. Use to identify a pool easily for maintenance and monitoring.
"properties"
: object, optionalServer properties specific to the type of data source being used. For information about available options, see the data source documentation.
"secretsProvider"
: SecretsProvider reference, optionalThe "SecretsProvider" to use to resolve queried secrets, such as passwords and cryptographic keys. Provide either the name of a SecretsProvider object defined in the heap, or specify a SecretsProvider object inline.
"username"
: configuration expression<string>, optionalThe username to access the database.
Example
For an example that uses JdbcDataSource, see "Logging In With Credentials From a Database".
The following example configures a JdbcDataSource with a dataSourceClassName
and url
:
"config": { "username": "testUser", "dataSourceClassName": "org.h2.jdbcx.JdbcDataSource", "properties": { "url": "jdbc:h2://localhost:3306/auth" }, "passwordSecretId: "database.password", "secretsProvider": "MySecretsProvider", }
The following example configures a JdbcDataSource with jdbcUrl
alone:
"config": { "username": "testUser", "jdbcUrl": "jdbc:h2://localhost:3306/auth", "passwordSecretId: "database.password", "secretsProvider": "MySecretsProvider", }
The following example configures a JdbcDataSource with jdbcUrl
and driverName
. Use this format for older drivers, where jdbcUrl
does not provide enough information:
"config": { "username": "testUser", "jdbcUrl": "jdbc:h2://localhost:3306/auth", "driverName": "org.h2.Driver", "passwordSecretId: "database.password", "secretsProvider": "MySecretsProvider", }