---
schema_version: "1"
id: f616764ab14d37de14422165db3fc053c73b7a3de1a95848916b71e6dd48c24f
title: Database Connector Reference 1.16
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/db-connector/latest/database-documentation.md
canonical_url: https://docs.mulesoft.com/db-connector/latest/database-documentation
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 5c3709c077b69195bc539192d7047611d67dbbaa1d347f9b2346b5c7b8deb007
description: MuleSoft Documentation Site
release: "1.16"
latest: true
---
---
product: Database Connector
version: 1.16
is-latest-version: true
---

# Database Connector Reference 1.16

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Anypoint Connector for Database (Database Connector) enables you to connect to relational databases
through the JDBC API.

Release Notes: [Database Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/connector-db)

## Configurations

---

### Config

Default configuration

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name for this configuration. Connectors reference the configuration with this name.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Connection</strong></p></td><td><div><div><ul><li><p><a href="#config_data-source">Data Source Reference Connection</a></p></li><li><p><a href="#config_derby">Derby Connection</a></p></li><li><p><a href="#config_generic">Generic Connection</a></p></li><li><p><a href="#config_mssql">Microsoft SQL Server Connection</a></p></li><li><p><a href="#config_my-sql">MySQL Connection</a></p></li><li><p><a href="#config_oracle">Oracle Connection</a></p></li></ul></div></div></td><td><div><div><p>The connection types to provide to this configuration.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Expiration Policy</strong></p></td><td><div><div><p><a href="#ExpirationPolicy">Expiration Policy</a></p></div></div></td><td><div><div><p>Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Connection Types

##### Data Source Reference Connection

ConnectionProvider implementation which creates DB connections from a referenced DataSource

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Data Source Ref</strong></p></td><td><div><div><p>Any</p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

##### Derby Connection

Creates connections to a Derby database

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Isolation</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NONE</p></li><li><p>READ_COMMITTED</p></li><li><p>READ_UNCOMMITTED</p></li><li><p>REPEATABLE_READ</p></li><li><p>SERIALIZABLE</p></li><li><p>NOT_CONFIGURED</p></li></ul></div></div></td><td><div><div><p>The transaction isolation level to set on the driver when connecting the database.</p></div></div></td><td><div><div><p>NOT_CONFIGURED</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use XA Transactions</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates whether or not the created datasource has to support XA transactions. Default is false.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Database</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the database</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Subsub Protocol</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Specifies where Derby should look for the database. The available options are: 'directory', 'memory', 'classpath' and 'jar'.</p></div></div></td><td><div><div><p>directory</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Create</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates if the database should be created if it does not exist.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Connection Properties</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>Specifies a list of custom key-value connectionProperties for the config.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

##### Generic Connection

ConnectionProvider that creates connections for any kind of database using a JDBC URL and the
required JDBC Driver Class

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Isolation</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NONE</p></li><li><p>READ_COMMITTED</p></li><li><p>READ_UNCOMMITTED</p></li><li><p>REPEATABLE_READ</p></li><li><p>SERIALIZABLE</p></li><li><p>NOT_CONFIGURED</p></li></ul></div></div></td><td><div></div></td><td><div><div><p>NOT_CONFIGURED</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use XA Transactions</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>URL</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Driver Class Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>User</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Password to authenticate against the proxy server.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

##### Microsoft SQL Server Connection

DbConnectionProvider implementation for Microsoft SQL Server Databases

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Isolation</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NONE</p></li><li><p>READ_COMMITTED</p></li><li><p>READ_UNCOMMITTED</p></li><li><p>REPEATABLE_READ</p></li><li><p>SERIALIZABLE</p></li><li><p>NOT_CONFIGURED</p></li></ul></div></div></td><td><div><div><p>The transaction isolation level to set on the driver when connecting the database.</p></div></div></td><td><div><div><p>NOT_CONFIGURED</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use XA Transactions</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates whether or not the created datasource has to support XA transactions. Default is false.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Host</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Configures the host of the database.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Instance Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Configures the name of the SQL server instance where the database is.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Port</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Configures the port of the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>User</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The user to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The password to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Database Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the default database to work with.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Connection Properties</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>Specifies a list of custom key-value connectionProperties for the config.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

##### MySQL Connection

Creates connections to a MySQL database.

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Isolation</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NONE</p></li><li><p>READ_COMMITTED</p></li><li><p>READ_UNCOMMITTED</p></li><li><p>REPEATABLE_READ</p></li><li><p>SERIALIZABLE</p></li><li><p>NOT_CONFIGURED</p></li></ul></div></div></td><td><div><div><p>The transaction isolation level to set on the driver when connecting the database.</p></div></div></td><td><div><div><p>NOT_CONFIGURED</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use XA Transactions</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates whether or not the created datasource has to support XA transactions. Default is false.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Host</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Configures the host of the database.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Port</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Configures the port of the database.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>User</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The user to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The password to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Database</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Connection Properties</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>Specifies a list of custom key-value connectionProperties for the config.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

##### Oracle Connection

Creates connections to a Oracle database

###### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Pooling Profile</strong></p></td><td><div><div><p><a href="#pooling-profile">Pooling Profile</a></p></div></div></td><td><div><div><p>Configures the database connection pooling.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Column Types</strong></p></td><td><div><div><p>Array of <a href="#ColumnType">Column Type</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cache Query Template Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div><div><p>1000</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Isolation</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NONE</p></li><li><p>READ_COMMITTED</p></li><li><p>READ_UNCOMMITTED</p></li><li><p>REPEATABLE_READ</p></li><li><p>SERIALIZABLE</p></li><li><p>NOT_CONFIGURED</p></li></ul></div></div></td><td><div><div><p>The transaction isolation level to set on the driver when connecting the database.</p></div></div></td><td><div><div><p>NOT_CONFIGURED</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use XA Transactions</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates whether or not the created datasource has to support XA transactions. Default is false.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Host</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Configures the host of the database.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Port</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Configures the port of the database.</p></div></div></td><td><div><div><p>1521</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>User</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The user to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The password to use for authentication against the database.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Instance</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the database instance.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Service Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the database service name.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>TLS Context</strong></p></td><td><div><div><p><a href="#Tls">TLS</a></p></div></div></td><td><div><div><p>The TLS factory used to create TLS secured connections</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection</strong></p></td><td><div><div><p><a href="#reconnection">Reconnection</a></p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

## Supported Operations

- [Bulk Delete](#bulkDelete)

- [Bulk Insert](#bulkInsert)

- [Bulk Update](#bulkUpdate)

- [Delete](#delete)

- [Execute DDL](#executeDdl)

- [Execute Script](#executeScript)

- [Insert](#insert)

- [Query Single](#querySingle)

- [Select](#select)

- [Stored Procedure](#storedProcedure)

- [Update](#update)

## Associated Sources

- [On Table Row](#listener)

## Operations

### Bulk Delete

`<db:bulk-delete>`

Allows executing one delete statement various times using different parameter bindings. This happens
using one single Database statement, which has performance advantages compared to executing one
single delete operation various times.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Array of Object</p></div></div></td><td><div><div><p>A List of Maps in which every list item represents a row to be inserted, and the map contains the parameter names as keys and the value the parameter is bound to.</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Array of Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Bulk Insert

`<db:bulk-insert>`

Allows executing one insert statement various times using different parameter bindings. This happens
using one single Database statement, which has performance advantages compared to executing one
single update operation various times.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Array of Object</p></div></div></td><td><div><div><p>A List of Maps in which every list item represents a row to be inserted, and the map contains the parameter names as keys and the value the parameter is bound to.</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Array of Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Bulk Update

`<db:bulk-update>`

Allows executing one update statement various times using different parameter bindings. This happens
using one single Database statement, which has performance advantages compared to executing one
single update operation various times.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Array of Object</p></div></div></td><td><div><div><p>A List of Maps in which every list item represents a row to be inserted, and the map contains the parameter names as keys and the value the parameter is bound to.</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Array of Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Delete

`<db:delete>`

Deletes data in a database.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Execute DDL

`<db:execute-ddl>`

Enables execution of DDL queries against a database.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Execute Script

`<db:execute-script>`

Executes a SQL script in one single Database statement. The script is executed as provided by the
user, without any parameter binding.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Script Path</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The location of a file to load. The file can point to a resource on the classpath or on a disk.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Array of Number</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Insert

`<db:insert>`

Inserts data into a Database

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generate Keys</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates when to make auto-generated keys available for retrieval.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Indexes</strong></p></td><td><div><div><p>Array of Number</p></div></div></td><td><div><div><p>List of column indexes that indicates which auto-generated keys to make available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Names</strong></p></td><td><div><div><p>Array of String</p></div></div></td><td><div><div><p>List of column names that indicates which auto-generated keys should be made available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p><a href="#StatementResult">Statement Result</a></p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Query Single

`<db:query-single>`

Selects single result from a database. If the indicated SQL query returns more than one record, only
the first one is returned. Streaming is not used for this operation, which means that you must be
careful because all selected fields will be loaded to memory.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Object</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Select

`<db:select>`

Selects data from a database. Streaming is automatically applied to avoid preemptive consumption of
such results, which may lead to performance and memory issues.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Streaming Strategy</strong></p></td><td><div><div><ul><li><p><a href="#repeatable-in-memory-iterable">Repeatable In Memory Iterable</a></p></li><li><p><a href="#repeatable-file-store-iterable">Repeatable File Store Iterable</a></p></li><li><p>non-repeatable-iterable</p></li></ul></div></div></td><td><div><div><p>Configures how Mule processes streams. Repeatable streams are the default behavior.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Array of Object</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:BAD\_SQL\_SYNTAX

### Stored Procedure

`<db:stored-procedure>`

Invokes a Stored Procedure on the database. When the stored procedure returns one or more ResultSet
instances, streaming is automatically applied to avoid preemptive consumption of such results, which
may lead to performance and memory issues.

> [!NOTE] Streaming of stored procedure result sets applies only when the JDBC driver supports
> multiple open result sets (`DatabaseMetaData#supportsMultipleOpenResults()` returns `true`). If
> the driver doesn’t support this capability (for example, the Microsoft SQL Server JDBC driver),
> Database Connector reads every result set fully into memory before the operation returns. Large
> result sets can cause high memory usage.

> [!NOTE] Database Connector doesn’t support Oracle primitive LOB collections (for example,
> VARRAY/NESTED TABLE of BLOB/CLOB) in stored procedures.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Streaming Strategy</strong></p></td><td><div><div><ul><li><p><a href="#repeatable-in-memory-stream">Repeatable In Memory Stream</a></p></li><li><p><a href="#repeatable-file-store-stream">Repeatable File Store Stream</a></p></li><li><p>non-repeatable-stream</p></li></ul></div></div></td><td><div><div><p>Configures how Mule processes streams. Repeatable streams are the default behavior.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input - Output Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of a parameter to be set on the JDBC prepared statement which is both input and output. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Output Parameters</strong></p></td><td><div><div><p>Array of <a href="#OutputParameter">Output Parameter</a></p></div></div></td><td><div><div><p>A list of output parameters to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: call multiply(:value, :result))</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generate Keys</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates when to make auto-generated keys available for retrieval.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Indexes</strong></p></td><td><div><div><p>Array of Number</p></div></div></td><td><div><div><p>List of column indexes that indicates which auto-generated keys to make available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Names</strong></p></td><td><div><div><p>Array of String</p></div></div></td><td><div><div><p>List of column names that indicates which auto-generated keys should be made available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Object</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

### Update

`<db:update>`

Updates data in a database.

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_JOIN</p></li><li><p>JOIN_IF_POSSIBLE</p></li><li><p>NOT_SUPPORTED</p></li></ul></div></div></td><td><div><div><p>The type of joining action that operations can take regarding transactions.</p></div></div></td><td><div><div><p>JOIN_IF_POSSIBLE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>SQL Query Text</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The text of the SQL query to execute</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Parameter Types</strong></p></td><td><div><div><p>Array of <a href="#ParameterType">Parameter Type</a></p></div></div></td><td><div><div><p>Allows to optionally specify the type of one or more of the parameters in the query. If provided, you’re not even required to reference all of the parameters, but you cannot reference a parameter not present in the input values</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Input Parameters</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>A Map which keys are the name of an input parameter to be set on the JDBC prepared statement. Each parameter should be referenced in the sql text using a semicolon prefix (E.g: where ID = :myParamName)). The map’s values will contain the actual assignation for each parameter.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generate Keys</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Indicates when to make auto-generated keys available for retrieval.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Indexes</strong></p></td><td><div><div><p>Array of Number</p></div></div></td><td><div><div><p>List of column indexes that indicates which auto-generated keys to make available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Auto Generated Keys Column Names</strong></p></td><td><div><div><p>Array of String</p></div></div></td><td><div><div><p>List of column names that indicates which auto-generated keys should be made available for retrieval.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Variable</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the variable that storesoperation’s output will be placed</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Target Value</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>An expression to evaluate against the operation’s output and store the expression outcome in the target variable</p></div></div></td><td><div><div><p><code>#[payload]</code></p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p><a href="#StatementResult">Statement Result</a></p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

#### Throws

- DB:QUERY\_EXECUTION

- DB:CONNECTIVITY

- DB:RETRY\_EXHAUSTED

- DB:BAD\_SQL\_SYNTAX

## Sources

### On Table Row

`<db:listener>`

Selects from a table at a regular interval and generates one message per each obtained row.
Optionally, watermark and ID columns can be provided. If a watermark column is provided, the values
taken from that column will be used to filter the contents of the next poll, so that only rows with
a greater watermark value are returned. If an ID column is provided, this component will
automatically make sure that the same row is not picked twice by concurrent polls

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Configuration</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Name of the configuration to use.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Table</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the table to select from</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Watermark Column</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the column to use for watermark. Values taken from this column will be used to filter the contents of the next poll, so that only rows with a greater watermark value are processed.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Id Column</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the column to consider as row ID. If provided, this component will make sure that the same row is not processed twice by concurrent polls.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Transactional Action</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ALWAYS_BEGIN</p></li><li><p>NONE</p></li></ul></div></div></td><td><div><div><p>The type of beginning action that sources can take regarding transactions.</p></div></div></td><td><div><div><p>NONE</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Transaction Type</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>LOCAL</p></li><li><p>XA</p></li></ul></div></div></td><td><div><div><p>The type of transaction to create. Availability depends on Mule version.</p></div></div></td><td><div><div><p>LOCAL</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Primary Node Only</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Determines whether to execute this source on only the primary node when running Mule instances in a cluster. When deployed in a clustered environment with multiple workers, this must be enabled to prevent duplicate record processing.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Scheduling Strategy</strong></p></td><td><div><div><p>scheduling-strategy</p></div></div></td><td><div><div><p>Configures the scheduler that triggers the polling.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Redelivery Policy</strong></p></td><td><div><div><p><a href="#RedeliveryPolicy">Redelivery Policy</a></p></div></div></td><td><div><div><p>Defines a policy for processing the redelivery of the same message.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates the minimum amount of time before the JDBC driver attempts to cancel a running statement. No timeout is used by default.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Query Timeout Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A TimeUnit which qualifies the #queryTimeout</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Column Numbers</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When true, uses column numbers (1, 2, 3..) instead of column names as keys in the result metadata. This is useful when the query returns duplicate column names, which would otherwise cause a metadata error.</p></div></div></td><td><div><div><p>false</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Fetch Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Indicates how many rows to fetch from the database when rows are read from a resultSet. This property is required when streaming is true; in that case a default value (10) is used.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Sets the limit for the maximum number of rows that any ResultSet object generated by this message processor can contain for the given number. If the limit is exceeded, the excess rows are silently dropped.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Retry strategy in case of connectivity errors.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

#### Output

<table><colgroup><col> <col></colgroup><tbody><tr><td><p>Type</p></td><td><p>Object</p></td></tr></tbody></table>

### For Configurations

- [Config](#config)

## Types

### Pooling Profile

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Max Pool Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Maximum number of connections a pool maintains at any given time.</p></div></div></td><td><div><div><p>5</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Min Pool Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Minimum number of connections a pool maintains at any given time.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Acquire Increment</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Determines how many connections at a time to try to acquire when the pool is exhausted.</p></div></div></td><td><div><div><p>1</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Prepared Statement Cache Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Determines how many statements are cached per pooled connection.</p></div></div></td><td><div><div><p>5</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Wait</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>The amount of time a client calling getConnection() waits for a connection to be checked-in or acquired when the pool is exhausted. A value of 0 means wait indefinitely.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Wait Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>A time unit that qualifies the Max Wait.</p></div></div></td><td><div><div><p>SECONDS</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Idle Time</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>The number of seconds that a connection can remain pooled but unused before being discarded. A value of 0 means idle connections never expire.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Statements</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Deprecated. Always set to 0.</p></div></div></td><td><div><div><p>0</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Test Connection On Checkout</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>If true, an operation is performed at every connection checkout to verify that the connection is valid.</p></div></div></td><td><div><div><p>true</p></div></div></td><td><div></div></td></tr><tr><td><p><strong>Additional Properties</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div><div><p>Specifies additional properties for the data source connection pool.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Column Type

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Id</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Type Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Class Name</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Reconnection

Configures a reconnection strategy for an operation.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Fails Deployment</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment fails if the test doesn’t pass after exhausting the associated reconnection strategy.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Reconnection Strategy</strong></p></td><td><div><div><ul><li><p><a href="#reconnect">Reconnect</a></p></li><li><p><a href="#reconnect-forever">Reconnect Forever</a></p></li></ul></div></div></td><td><div><div><p>Reconnection strategy to use.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Reconnect

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Frequency</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>How often to attempt to reconnect, in milliseconds.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Count</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>How many reconnection attempts the Mule app can make.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Reconnect Forever

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Frequency</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>How often to attempt to reconnect, in milliseconds.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### TLS

Configures TLS to provide secure communications for the Mule app.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Enabled Protocols</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Comma-separated list of protocols enabled for this context.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Enabled Cipher Suites</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Comma-separated list of cipher suites enabled for this context.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Trust Store</strong></p></td><td><div><div><p><a href="#TrustStore">Truststore</a></p></div></div></td><td><div><div><p>Configures the TLS truststore.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Key Store</strong></p></td><td><div><div><p><a href="#KeyStore">Keystore</a></p></div></div></td><td><div><div><p>Configures the TLS keystore.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Revocation Check</strong></p></td><td><div><div><ul><li><p><a href="#standard-revocation-check">Standard Revocation Check</a></p></li><li><p><a href="#custom-ocsp-responder">Custom OCSP Responder</a></p></li><li><p><a href="#crl-file">CRL File</a></p></li></ul></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Truststore

Configures the truststore for TLS.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Path</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Path to the truststore. Mule resolves the path relative to the current classpath and file system.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Password used to protect the truststore.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Type</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Type of store.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Algorithm</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Encryption algorithm that the truststore uses.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Insecure</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>If <code>true</code>, Mule stops performing certificate validations. Setting this to <code>true</code> can make connections vulnerable to attacks.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Keystore

Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a
public certificate.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Path</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Path to the keystore. Mule resolves the path relative to the current classpath and file system.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Type</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Type of store.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Alias</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Key Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Password used to protect the private key.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Password used to protect the keystore.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Algorithm</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Encryption algorithm that the keystore uses.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Standard Revocation Check

Configures standard revocation checks for TLS certificates.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Only End Entities</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Which elements to verify in the certificate chain:</p></div><div><ul><li><p><code>true</code></p></li></ul></div><div><p>Verify only the last element in the certificate chain.</p></div><div><ul><li><p><code>false</code></p></li></ul></div><div><p>Verify all elements in the certificate chain.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Prefer Crls</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>How to check certificate validity:</p></div><div><ul><li><p><code>true</code></p></li></ul></div><div><p>Check the Certification Revocation List (CRL) for certificate validity.</p></div><div><ul><li><p><code>false</code></p></li></ul></div><div><p>Use the Online Certificate Status Protocol (OCSP) to check certificate validity.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>No Fallback</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>Whether to use the secondary method to check certificate validity:</p></div><div><ul><li><p><code>true</code></p></li></ul></div><div><p>Use the method that wasn’t specified in the <strong>Prefer Crls</strong> field (the secondary method) to check certificate validity.</p></div><div><ul><li><p><code>false</code></p></li></ul></div><div><p>Do not use the secondary method to check certificate validity.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Soft Fail</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>What to do if the revocation server can’t be reached or is busy:</p></div><div><ul><li><p><code>true</code></p></li></ul></div><div><p>Avoid verification failure.</p></div><div><ul><li><p><code>false</code></p></li></ul></div><div><p>Allow the verification to fail.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Custom OCSP Responder

Configures a custom OCSP responder for certification revocation checks.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Url</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>URL of the OCSP responder.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Cert Alias</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### CRL File

Specifies the location of the certification revocation list (CRL) file.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Path</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Path to the CRL file.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Expiration Policy

Configures an expiration policy strategy.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Max Idle Time</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Time Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>NANOSECONDS</p></li><li><p>MICROSECONDS</p></li><li><p>MILLISECONDS</p></li><li><p>SECONDS</p></li><li><p>MINUTES</p></li><li><p>HOURS</p></li><li><p>DAYS</p></li></ul></div></div></td><td><div><div><p>Time unit for the <strong>Max Idle Time</strong> field.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Redelivery Policy

Configures the redelivery policy for executing requests that generate errors. You can add a
redelivery policy to any source in a flow.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Max Redelivery Count</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Use Secure Hash</strong></p></td><td><div><div><p>Boolean</p></div></div></td><td><div><div><p>If <code>true</code>, Mule uses a secure hash algorithm to identify a redelivered message.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Message Digest Algorithm</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>Secure hashing algorithm to use if the <strong>Use Secure Hash</strong> field is <code>true</code>. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s <code>hashCode()</code> returned.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Id Expression</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>One or more expressions that determine when a message was redelivered. You can set this property only if the <strong>Use Secure Hash</strong> field is <code>false</code>.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Object Store</strong></p></td><td><div><div><p>Object Store</p></div></div></td><td><div><div><p>Configures the object store that stores the redelivery counter for each message.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Parameter Type

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Key</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the input parameter.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Type Classifier</strong></p></td><td><div><div><p><a href="#TypeClassifier">Type Classifier</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr></tbody></table>

### Type Classifier

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Type</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BIT</p></li><li><p>TINYINT</p></li><li><p>SMALLINT</p></li><li><p>INTEGER</p></li><li><p>BIGINT</p></li><li><p>FLOAT</p></li><li><p>REAL</p></li><li><p>DOUBLE</p></li><li><p>NUMERIC</p></li><li><p>DECIMAL</p></li><li><p>CHAR</p></li><li><p>VARCHAR</p></li><li><p>LONGVARCHAR</p></li><li><p>DATE</p></li><li><p>TIME</p></li><li><p>TIMESTAMP</p></li><li><p>BINARY</p></li><li><p>VARBINARY</p></li><li><p>LONGVARBINARY</p></li><li><p>NULL</p></li><li><p>OTHER</p></li><li><p>JAVA_OBJECT</p></li><li><p>DISTINCT</p></li><li><p>STRUCT</p></li><li><p>ARRAY</p></li><li><p>BLOB</p></li><li><p>CLOB</p></li><li><p>REF</p></li><li><p>DATALINK</p></li><li><p>BOOLEAN</p></li><li><p>ROWID</p></li><li><p>NCHAR</p></li><li><p>NVARCHAR</p></li><li><p>LONGNVARCHAR</p></li><li><p>NCLOB</p></li><li><p>SQLXML</p></li><li><p>REF_CURSOR</p></li><li><p>UNKNOWN</p></li></ul></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Custom Type</strong></p></td><td><div><div><p>String</p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Statement Result

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Affected Rows</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Generated Keys</strong></p></td><td><div><div><p>Object</p></div></div></td><td><div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Repeatable In Memory Iterable

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Initial Buffer Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>The amount of instances that is initially be allowed to be kept in memory to consume the stream and provide random access to it. If the stream contains more data than can fit into this buffer, then the buffer expands according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize. Default value is 100 instances.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Buffer Size Increment</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full. Default value is 100 instances.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Buffer Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a <code>STREAM_MAXIMUM_SIZE_EXCEEDED</code> error. A value of less than or equal to <code>0</code> means no limit.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Repeatable File Store Iterable

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>In Memory Objects</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>The maximum amount of instances to keep in memory. If more than that is required, content on the disk is buffered.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Buffer Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BYTE</p></li><li><p>KB</p></li><li><p>MB</p></li><li><p>GB</p></li></ul></div></div></td><td><div><div><p>Unit for the <strong>In Memory Size</strong> field.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Repeatable In Memory Stream

Configures the in-memory streaming strategy by which the request fails if the data exceeds the MAX
buffer size. Always run performance tests to find the optimal buffer size for your specific use
case.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Initial Buffer Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by <strong>Buffer Size Increment</strong>, with an upper limit of <strong>Max In Memory Size value</strong>.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Buffer Size Increment</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>This is by how much the buffer size expands if it exceeds its initial size. Setting a value of zero or lower means that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error is raised when the buffer gets full.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Max Buffer Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a <code>STREAM_MAXIMUM_SIZE_EXCEEDED</code> error. A value of less than or equal to <code>0</code> means no limit.</p></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Buffer Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BYTE</p></li><li><p>KB</p></li><li><p>MB</p></li><li><p>GB</p></li></ul></div></div></td><td><div><div><p>Unit for the <strong>Initial Buffer Size</strong>, <strong>Buffer Size Increment</strong>, and <strong>Buffer Unit</strong> fields.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Repeatable File Store Stream

Configures the repeatable file-store streaming strategy by which Mule keeps a portion of the stream
content in memory. If the stream content is larger than the configured buffer size, Mule backs up
the buffer’s content to disk and then clears the memory.

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>In Memory Size</strong></p></td><td><div><div><p>Number</p></div></div></td><td><div><div><p>Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:</p></div><div><ul><li><p>Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk. This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.</p></li><li><p>Configure a smaller buffer size to decrease memory load at the expense of response time.</p></li></ul></div></div></td><td><div></div></td><td><div></div></td></tr><tr><td><p><strong>Buffer Unit</strong></p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BYTE</p></li><li><p>KB</p></li><li><p>MB</p></li><li><p>GB</p></li></ul></div></div></td><td><div><div><p>Unit for the <strong>In Memory Size</strong> field.</p></div></div></td><td><div></div></td><td><div></div></td></tr></tbody></table>

### Output Parameter

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><strong>Key</strong></p></td><td><div><div><p>String</p></div></div></td><td><div><div><p>The name of the input parameter.</p></div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr><tr><td><p><strong>Type Classifier</strong></p></td><td><div><div><p><a href="#TypeClassifier">Type Classifier</a></p></div></div></td><td><div></div></td><td><div></div></td><td><div><div><p>x</p></div></div></td></tr></tbody></table>
