Red Hat Training

A Red Hat training course is available for Red Hat Fuse

6.2. Configuring the Transaction Manager

Overview

You can configure some basic parameters of the Aries transaction manager by editing the properties in the Aries transaction manager configuration file. In particular you must always specify the location of the HOWL log file directory and it is necessary to set the aries.transaction.recoverable property explicitly to true, if you want to enable the transaction recovery mechanism.

Configuration file

To configure the Aries transaction manager, you can edit the properties in the following configuration file:
EsbInstallDir/etc/org.apache.aries.transaction.cfg

Transaction manager properties

The properties that you can set in the org.apache.aries.transaction.cfg file include the following:
aries.transaction.recoverable
A boolean variable that specifies whether or not the transaction manager is recoverable. If not set, it defaults to false.
aries.transaction.timeout
Specifies the transaction timeout in seconds. Default is 600 (that is, 10 minutes).
aries.transaction.tmid
Specifies the transaction manager identification string that gets appended to all transaction XIDs. This identification string allows transactions from different transaction managers to be disambiguated during transaction recovery, and should be different for each JBoss Fuse container that performs global transactions on a particular set of transactional resources. The string can be up to 64 characters in length. If not specified, a default identification string would be used, but this default value is the same for all JBoss Fuse containers.
aries.transaction.howl.bufferSize
Specifies the HOWL log buffer size in units of KiB, where the value must be an integer in the range [1,32]. Default is 4. For optimum performance, it is best to set this value to the block size of the given operating system. On Linux operating systems, a typical block size is 4 KiB.
Note
Larger buffers might provide improved performance for applications with transaction rates that exceed 5K transactions per second and a large number of threads.
aries.transaction.howl.logFileDir
(Required) Specifies the log directory location, which must be an absolute path. No default value.
aries.transaction.howl.logFileName
Specifies the name of the HOWL log file. Default is transaction.
aries.transaction.howl.logFileExt
Specifies the file extention for the HOWL log file. Default is log.
aries.transaction.howl.maxLogFiles
Specifies the maximum number of log files. Default is 2.
aries.transaction.howl.maxBlocksPerFile
Specifies the maximum size of a transaction log file in blocks, where the block size is defined by the aries.transaction.howl.bufferSize property. After the maximum size is reached, the log rolls over to a new log file. Default is -1 (that is, 0x7fffffff blocks).

Sample settings

The following example shows the default settings from the org.apache.aries.transaction.cfg configuration file:
aries.transaction.timeout=600
aries.transaction.howl.logFileDir=${karaf.data}/txlog/