Chapter 1. Introduction

Table of Contents

1.1. Overview
1.2. Transaction Processing
1.2.1. XA Server
1.2.2. MultipleRM Application Server

This chapter describes the overview and configuration of MultipleRM.

1.1. Overview

According to basic Tmax policy, XA servers in a server group can only access the single RM, which is set for the server group, to process a transaction. However, if one process uses multiple RMs, it is impossible to handle it with a single transaction. Extended server library functions are required to enable a transaction to use multiple RMs or instances of an RM. The existing TCS and UCS server libraries can be used to support MultipleRM.

1.2. Transaction Processing

This section describes the transaction processing on XA server and MultipleRM application server.

1.2.1. XA Server

The following shows transaction processing on an XA server.

[Figure 1.1] XA Server Transaction Processing

XA Server Transaction Processing

The XA server executes xa_open at startup, and xa_start'RM Process'xa_end when requesting a service. The xa_prepare and xa_commit are executed by the TMS of the server group of the XA server.

1.2.2. MultipleRM Application Server

The XA server, which was developed using MultipleRM configuration, executes a transaction by accessing multiple RMs.

The following shows the transaction processing on a MultipleRM application server.

[Figure 1.2] MultipleRM Application Server Transaction Processing

MultipleRM Application Server Transaction Processing

The MultipleRM application server executes xa_open on all registered RMs at startup. When requesting a service, CLH issues XIDs according to the number of RMs and the server executes xa_start on all RMs using the XIDs. When terminating the service, the MultipleRM application server executes xa_end on all RMs. Any other tasks are processed in the existing way through the registered TMS that executes xa_prepare and xa_commit.

MultipleRM Limitations

The following are MultipleRM limitations.

  • Does not support COUSIN configuration.

  • The following functions are not supported.

    • tpsuspendtx

    • tpresumetx

  • Only Oracle and Tibero databases are supported.