Configuring Transaction Managers

When using a transaction manager with ActiveMatrix BusinessWorks, you must configure the transaction manager and ActiveMatrix BusinessWorks to work together properly. This section details the requirements for configuring the supported transaction managers.

TIBCO BusinessWorks XA Transaction Manager

The TIBCO BusinessWorks XA Transaction Manager is automatically configured for use with ActiveMatrix BusinessWorks. However, in case TIBCO BusinessWorks XA Transaction Manager does not configure automatically, you can configure it manually.

To configure the BusinessWorks XA Transaction Manager manually, append the following paths to the tibco.env.CUSTOM_EXT_APPEND_CP property in bwengine.tra and designer.tra files:

<TIBCO_HOME>/bw/tm/1.0/lib
<TIBCO_HOME>/bw/tm/1.0/lib/ext

You may wish to set some of the custom engine properties available for this transaction manager. See TIBCO ActiveMatrix BusinessWorks Administration for more information about custom engine properties.

Java Open Transaction Manager (JOTM)

For Java Open Transaction Manager (JOTM), no changes are required to the JOTM environment to interact with ActiveMatrix BusinessWorks. However, ActiveMatrix BusinessWorks must be configured as follows to interact with JOTM.

Procedure 

  1. The classpath for TIBCO Designer and ActiveMatrix BusinessWorks must be modified to include the JOTM jar files. To accomplish this, the following JOTM directory must be included in classpath properties in the designer.tra and bwengine.tra files:

    <JOTM_HOME>\jotm-1.5.3\config
    <JOTM_HOME>\jotm-1.5.3\lib
  2. The logging details for JOTM is specified in the ActiveMatrix BusinessWorks log4j property file (<BW_HOME>\5.12\lib\log4j.properties). By default, the log4j property file is configured to send JOTM log messages to the ActiveMatrix BusinessWorks log file (BWLogFileAppender).

    To send JOTM log messages to a separate file, you must modify the ActiveMatrix BusinessWorks log4j property file. There are several JOTM logger properties with the prefix, log4j.logger.org.objectweb.jotm. To each of these properties, add jotm_log_file.

    For more information about the ActiveMatrix BusinessWorks log4j file, see Logging for Third-Party Components.

Arjuna Transaction Service

For the Arjuna Transaction Service (ATS), both the ATS environment and the ActiveMatrix BusinessWorks environment must be modified.

The following configuration changes must be performed in the ATS properties file:

Procedure 

  1. ATS provides two transaction manager implementations, one that is local (com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple) and one that is based on the distributed JTA implementation (com.arjuna.ats.internal.jta.transaction.jts.TransactionManagerImple). ActiveMatrix BusinessWorks only supports the local implementations. For ActiveMatrix BusinessWorks to work correctly, ATS must be configured to use the local implementations. Open the ATS properties file (<ATS_HOME>\ats-4.0\etc\arjunajts-properties.xml) and make sure that the properties com.arjuna.ats.jta.jtaTMImplementation and com.arjuna.ats.jta.jtaUTImplementation are set to the following values:

    <property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/> 
    <property name="com.arjuna.ats.jta.jtaUTImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple"/>
  2. ATS provides two recovery modules for XA resources, one for local transaction recovery and one for distributed transaction recovery. In ActiveMatrix BusinessWorks, local transaction recovery is used. By default the ATS properties file may be configured to enable both the local transaction recovery (<property name="com.arjuna.ats.arjuna.recovery.recoveryExtension5" value="com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule"/>) and distributed transaction recovery (<property name="com.arjuna.ats.arjuna.recovery.recoveryExtension6" value="com.arjuna.ats.internal.jta.recovery.jts.XARecoveryModule"/>).

    ActiveMatrix BusinessWorks uses the local transaction recovery, therefore the distributed transaction recovery property must be commented out or removed from the ATS properties file.

  3. By default, the ATS ObjectStore is created in the current working directory of the application. When using ActiveMatrix BusinessWorks, this will be the working directory or the directory where the ActiveMatrix BusinessWorks process engine is started. It is recommended that you change the location where the ATS ObjectStore is created. To change the object store's location, set the value for the following property in the ATS properties file to your directory’s location:

  4. <property name="com.arjuna.ats.arjuna.objectstore.objectStoreDir"
    value="your directory location" />

The following configuration changes must be made to ActiveMatrix BusinessWorks to interact with ATS:

Procedure 

  1. The classpath for TIBCO Designer and ActiveMatrix BusinessWorks must be modified to include the ATS property file and jar files. To accomplish this, the following directories must be included in classpath properties in the designer.tra and bwengine.tra files:

    <ATS_HOME>\ats-4.0\etc
    <ATS_HOME>\ats-4.0\lib
    <ATS_HOME>\ats-4.0\lib\ext
  2. The logging details for ATS is specified in the ActiveMatrix BusinessWorks log4j property file (<BW_HOME>\5.12\lib\log4j.properties). By default, the log4j property file is configured to send ATS log messages to the ActiveMatrix BusinessWorks log file (BWLogFileAppender).

    To send ATS log messages to a separate file, you must modify the ActiveMatrix BusinessWorks log4j property file. Comment out the line containing: log4j.logger.com.arjuna=WARN, tibco_bw_log. Remove the comment from the line containing #log4j.logger.com.arjuna=WARN, tibco_bw_log, ats_log_file.

    For more information about the ActiveMatrix BusinessWorks log4j file, see Logging for Third-Party Components.