JBoss.orgCommunity Documentation

Chapter 6. Configuration options

6.1. Loading a configuration
6.2. ArjunaCore Options
6.3. JBossJTA Configuration options
6.4. JBossJTS Options

Each module of the system contains a modulepropertyManager class., which provides static getter methods for one or more nameEnvironmentBean classes. An example is com.arjuna.ats.arjuna.commmon.arjPropertyManager. These environment beans are standard JavaBean containing properties for each configuration option in the system. Typical usage is of the form:

int defaultTimeout = 

    arjPropertyManager.getCoordinatorEnvironmentBean().getDefaultTimeout();

These beans are singletons, instantiated upon first access, using the following algorithm.

Procedure 6.1. Algorithm for environment bean instantiation

  1. The properties are loaded and populated from a properties file named and located as follows:

    1. If the properties file name property is set, its value is used as the file name.

    2. If not, the default file name is used.

  2. The file thus named is searched for by, in order

    1. absolute path

    2. user.dir

    3. user.home

    4. java.home

    5. directories contained on the classpath

    6. a default file embedded in the product .jar file.

  3. The file is treated as being of standard java.util.Properties xml format and loaded accordingly. The entry names are of the form EnvironmentBeanClass.propertyName:<entry key="CoordinatorEnvironmentBean.commitOnePhase">YES</entry>. Valid values for Boolean properties are case-insensitive, and may be one of:

    • NO

    • YES

    • FALSE

    • TRUE

    • OFF

    • ON

    In the case of properties that take multiple values, they are white-space-delimited.


  4. After the file is loaded, it is cached and is not re-read until the JVM is restarted. Changes to the properties file require a restart in order to take effect.

  5. After the properties are loaded, the EnvironmentBean is then inspected and, for each field, if the properties contains a matching key in the search order as follows, the setter method for that field is invoked with the value from the properties, or the system properties if different.

  6. The bean is then returned to the caller, which may further override values by calling setter methods.

The implementation reads most bean properties only once, as the consuming component or class is instantiated. This usually happens the first time a transaction is run. As a result, calling setter methods to change the value of bean properties while the system is running typically has no effect, unless it is done prior to any use of the transaction system. Altered bean properties are not persisted back to the properties file.

You can configure the system using a bean wiring system such as JBoss Microcontainer or Spring. Take care when instantiating beans, to obtain the singleton via the static getter (factory) method on the module property manager. Using a new bean instantiated with the default constructor is ineffective, since it is not possible to pass this configured bean back to the property management system.

The canonical reference for configuration options is the Javadoc of the various EnvironmentBean classes, For ArjunaCore these are:

The canonical reference for configuration options is the javadoc of the various EnvironmentBean classes. For JBossJTA, these classes are the ones provided by ArjunaCore, as well as:

The canonical reference for configuration options is the javadoc of the various EnvironmentBean classes, For ArjunaJTS these are the ones provided by ArjunaCore, as well as: