DBCPConnectionPool

Description:

Provides Database Connection Pooling Service. Connections can be asked from pool and returned after usage.

Tags:

dbcp, jdbc, database, connection, pooling, store

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Database Connection URLDatabase Connection URLA database connection URL used to connect to a database. May contain database system name, host, port, database name and some parameters. The exact syntax of a database connection URL is specified by your DBMS.
Supports Expression Language: true (will be evaluated using variable registry only)
Database Driver Class NameDatabase Driver Class NameDatabase driver class name
Supports Expression Language: true (will be evaluated using variable registry only)
Database Driver Location(s)database-driver-locationsComma-separated list of files/folders and/or URLs containing the driver JAR and its dependencies (if any). For example '/var/tmp/mariadb-java-client-1.1.7.jar'

This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: URL, file, directory.

Supports Expression Language: true (will be evaluated using variable registry only)
Kerberos User Servicekerberos-user-serviceController Service API:
KerberosUserService
Implementations: KerberosPasswordUserService
KerberosKeytabUserService
KerberosTicketCacheUserService
Specifies the Kerberos User Controller Service that should be used for authenticating with Kerberos
Kerberos Credentials Servicekerberos-credentials-serviceController Service API:
KerberosCredentialsService
Implementation: KeytabCredentialsService
Specifies the Kerberos Credentials Controller Service that should be used for authenticating with Kerberos
Kerberos Principalkerberos-principalThe principal to use when specifying the principal and password directly in the processor for authenticating via Kerberos.
Supports Expression Language: true (will be evaluated using variable registry only)
Kerberos Passwordkerberos-passwordThe password to use when specifying the principal and password directly in the processor for authenticating via Kerberos.
Sensitive Property: true
Database UserDatabase UserDatabase user name
Supports Expression Language: true (will be evaluated using variable registry only)
PasswordPasswordThe password for the database user
Sensitive Property: true
Supports Expression Language: true (will be evaluated using variable registry only)
Max Wait TimeMax Wait Time500 millisThe maximum amount of time that the pool will wait (when there are no available connections) for a connection to be returned before failing, or -1 to wait indefinitely.
Supports Expression Language: true (will be evaluated using variable registry only)
Max Total ConnectionsMax Total Connections8The maximum number of active connections that can be allocated from this pool at the same time, or negative for no limit.
Supports Expression Language: true (will be evaluated using variable registry only)
Validation queryValidation-queryValidation query used to validate connections before returning them. When connection is invalid, it gets dropped and new valid connection will be returned. Note!! Using validation might have some performance penalty.
Supports Expression Language: true (will be evaluated using variable registry only)
Minimum Idle Connectionsdbcp-min-idle-conns0The minimum number of connections that can remain idle in the pool without extra ones being created. Set to or zero to allow no idle connections.
Supports Expression Language: true (will be evaluated using variable registry only)
Max Idle Connectionsdbcp-max-idle-conns8The maximum number of connections that can remain idle in the pool without extra ones being released. Set to any negative value to allow unlimited idle connections.
Supports Expression Language: true (will be evaluated using variable registry only)
Max Connection Lifetimedbcp-max-conn-lifetime-1The maximum lifetime of a connection. After this time is exceeded the connection will fail the next activation, passivation or validation test. A value of zero or less means the connection has an infinite lifetime.
Supports Expression Language: true (will be evaluated using variable registry only)
Time Between Eviction Runsdbcp-time-between-eviction-runs-1The time period to sleep between runs of the idle connection evictor thread. When non-positive, no idle connection evictor thread will be run.
Supports Expression Language: true (will be evaluated using variable registry only)
Minimum Evictable Idle Timedbcp-min-evictable-idle-time30 minsThe minimum amount of time a connection may sit idle in the pool before it is eligible for eviction.
Supports Expression Language: true (will be evaluated using variable registry only)
Soft Minimum Evictable Idle Timedbcp-soft-min-evictable-idle-time-1The minimum amount of time a connection may sit idle in the pool before it is eligible for eviction by the idle connection evictor, with the extra condition that at least a minimum number of idle connections remain in the pool. When the not-soft version of this option is set to a positive value, it is examined first by the idle connection evictor: when idle connections are visited by the evictor, idle time is first compared against it (without considering the number of idle connections in the pool) and then against this soft option, including the minimum idle connections constraint.
Supports Expression Language: true (will be evaluated using variable registry only)

Dynamic Properties:

Supports Sensitive Dynamic Properties: Yes

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
JDBC property nameJDBC property valueJDBC driver property name and value applied to JDBC connections.
Supports Expression Language: true (will be evaluated using variable registry only)
SENSITIVE.JDBC property nameJDBC property valueJDBC driver property name prefixed with 'SENSITIVE.' handled as a sensitive property.
Supports Expression Language: false

State management:

This component does not store state.

Restricted:

Required PermissionExplanation
reference remote resourcesDatabase Driver Location can reference resources over HTTP

System Resource Considerations:

None specified.