# Element Summary

Element | Description | Class
--- | --- | ---
recoverableDataSource | Defines a JDBC DataSource that will auto-enlist into existing XA transactions. The DataSource will also be registered with the Aries/Geronimo transaction manager in order to provide proper transaction recovery at startup. Other considerations such as connection pooling and error handling are completely ignored. | org.apache.aries.transaction.jdbc.RecoverableDataSource

# Element Detail

## Element: recoverableDataSource

Attribute | Type | Description
--- | --- | ---
allConnectionsEquals | xs:boolean |
backgroundValidation | xs:boolean | If periodically background validation is enabled (defaults to false).
backgroundValidationMilliseconds | xs:integer | Background validation period (defaults to 600000)
connectionMaxIdleMinutes | xs:integer |
connectionMaxWaitMilliseconds | xs:integer |
exceptionSorter | xs:string | Specify which SQL exceptions are fatal. Can be all, none, known or custom(xx,yy...).
name | xs:string | The unique name for this managed XAResource. This name will be used by the transaction manager to recover transactions.
partitionStrategy | xs:string | Pool partition strategy. Can be none, by-connector-properties or by-subject (defaults to none).
password | xs:string | The password credential used to establish the connection.
poolMaxSize | xs:integer | Maximum pool size (defaults to 10).
poolMinSize | xs:integer | Minimum pool size (defaults to 0).
pooling | xs:boolean | If pooling is enabled (defaults to true).
transaction | xs:string | Transaction support. Can be none, local or xa (defaults to xa).
username | xs:string | The user name used to establish the connection.
validateOnMatch | xs:boolean | If validation on connection matching is enabled (defaults to true).

Element | Type | Description
--- | --- | ---
dataSource | <spring:bean/> | The CommonDataSource to wrap.
transactionManager | <spring:bean/> | The XA TransactionManager to use to enlist the JDBC connections into.