JdbcDataSource
Manages connections to a JDBC data source.
To configure the connection pool, add a JdbcDataSource object named AuditService in the route heap.
Usage
{
  "name": string,
  "type": "JdbcDataSource",
  "config": {
    "dataSourceClassName": configuration expression<string>,
    "driverClassName": configuration expression<string>,
    "executor": ScheduledExectutorService reference,
    "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>, optional- 
The data source class name to use to connect to the database.
Depending on the underlying data source, use either
jdbcUrl, ordataSourceClassNamewithurl. "driverClassName": configuration expression<string>, optional- 
Class 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, optional- 
A ScheduledExecutorService for maintenance tasks.
Default: ScheduledExecutorService.
 "jdbcUrl": configuration expression<url>, optional- 
The JDBC URL to use to connect to the database.
Depending on the underlying data source, use either
jdbcUrl, ordataSourceClassNamewithurl. "passwordSecretId": configuration expression<secret-id>, required if the database is password-protected- 
The secret ID of the password to access the database.
This secret ID must point to a GenericSecret.
 "poolName": configuration expression<string>, optional- 
The connection pool name. Use to identify a pool easily for maintenance and monitoring.
 "properties": object, optional- 
Server properties specific to the type of data source used. PingGateway evaluates each value of the object as a configuration expression<string>.
Learn more in PingGateway route properties and in the documentation for the data source.
 "secretsProvider": SecretsProvider reference, required- 
The SecretsProvider to query for passwords and cryptographic keys.
 "username": configuration expression<string>, optional- 
The username to access the database.
 
Example
You can find an example that uses JdbcDataSource in Password replay 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 doesn’t provide enough information:
"config": {
  "username": "testUser",
  "jdbcUrl": "jdbc:h2://localhost:3306/auth",
  "driverName": "org.h2.Driver",
  "passwordSecretId": "database.password",
  "secretsProvider": "MySecretsProvider"
}