bitronix.tm
Class Configuration

Configuration repository of the transaction manager. You can set configurable values either via the properties file
or by setting properties of the Configuration object.
Once the transaction manager has started it is not possible to change the configuration: all calls to setters will
throw a IllegalStateException.

The configuration filename must be specified with the bitronix.tm.configuration system property.

The default settings are good enough for running in a test environment but certainly not for production usage.
Also, all properties are reset to their default value after the transaction manager has shut down.

All those properties can refer to other defined ones or to system properties using the Ant notation:
${some.property.name}.

isAsynchronous2Pc

public boolean isAsynchronous2Pc()

Should two phase commit be executed asynchronously ? Asynchronous two phase commit can improve performance when
there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread spawning
requirements. It also makes debugging more complex.

Property name:bitronix.tm.2pc.async -(defaults to false)

Returns:

true if two phase commit should be executed asynchronously.

setAsynchronous2Pc

public void setAsynchronous2Pc(boolean asynchronous2Pc)

Set if two phase commit should be executed asynchronously. Asynchronous two phase commit can improve performance
when there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread
spawning requirements. It also makes debugging more complex.

Parameters:

asynchronous2Pc - true if two phase commit should be executed asynchronously.

isWarnAboutZeroResourceTransaction

public boolean isWarnAboutZeroResourceTransaction()

Should transactions executed without a single enlisted resource result in a warning or not ? Most of the time
transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.

setWarnAboutZeroResourceTransaction

Set if transactions executed without a single enlisted resource should result in a warning or not. Most of the
time transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.

Parameters:

warnAboutZeroResourceTransaction - true if transactions executed without a single enlisted resource should
result in a warning.

setJournal

isCurrentNodeOnlyRecovery

public boolean isCurrentNodeOnlyRecovery()

Should the recovery process not recover XIDs generated with another JVM unique ID ? Setting this property to true
is useful in clustered environments where multiple instances of BTM are running on different nodes.

Returns:

true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.