What's New in MicroTx

The following are the changes in the Transaction Manager for Microservices (MicroTx) release 24.4 and the previous releases.

New Features in 24.4

The following are the changes in MicroTx 24.4, which was released in January, 2025.

Support for Session Affinity and Caching in Saga Transactions

Transaction logs of Saga transactions are now cached when caching is enabled for the MicroTx coordinator.

You can now enable session affinity for a Saga participant service. When there are multiple replicas of a Saga participant service, the request may be directed to different replicas in a single transaction. When you enable session affinity for a participant service, all the requests for a particular transaction or session are routed to the same endpoint or replica of the participant service that served the first request. See About Session Affinity.

Simplified Process to Upgrade to MicroTx Enterprise Edition

You can run SQL scripts to easily upgrade to the latest release of MicroTx Enterprise Edition. See Upgrade to the Latest Enterprise Edition Using SQL Scripts.

Enhancements in the MicroTx Library

The enhanced MicroTx library provides the following additional functionality.

Changes in the Previous Release

The following changes were introduced in the previous releases of MicroTx.

Changes in 24.2.2

The following changes were introduced in MicroTx 24.2.2, which was released in November, 2024.

Configure MicroTx Transaction Coordinator Using Environment Variables

MicroTx transaction coordinator MicroTx library is supported on multi-cloud environments. You can now also use environment variables to provide configuration details for the MicroTx transaction coordinator. See Configure Coordinator Using Environment Variables.

MicroTx Transaction Coordinator Image Based on Arm Architecture

The transaction coordinator image for MicroTx Free is available now on Arm architecture. See Run MicroTx in a Docker Container on macOS (Arm).

Changes in 24.2

The following features were introduced in MicroTx 24.2, which was released in June, 2024.

Enhancements in the MicroTx Library

The enhanced MicroTx library provides functionality for the following applications:

  • Spring REST-based applications can initiate a new TCC transaction or participate in an existing TCC transaction with MicroTx. See Develop Spring Boot Apps with TCC.
  • Micronaut applications can initiate a new Saga transaction or participate in an existing Saga transaction. See Develop Micronaut Apps with Saga.
  • Oracle Database applications, built using Oracle APEX and Oracle REST Data Services (ORDS), can now initiate a new XA transaction with MicroTx by using the MicroTx PL/SQL library. See Develop ORDS App with XA.
  • JAX-RS and Spring REST-based applications can participate in an XA transaction with MicroTx while leveraging the Oracle Transactional Event Queues (TEQ) feature available in Oracle Database. See Configure Java Apps to Leverage Transactional Event Queues.
  • Spring Boot applications using Spring REST and Micronaut applications can initiate or participate in a Saga transaction with MicroTx while supporting auto-compensation using the lock-free reservation feature available in Oracle Database 23ai. See Develop Java Apps that Use Saga and Lock-Free Reservation.

Send Notifications Using Prometheus Alertmanager

Install and configure Prometheus Alertmanager to send notifications based on specific thresholds and rules. For example, users are notified when the MicroTx coordinator service or the database service is not available. See Install and Configure Alertmanager.

Enhanced Troubleshooting through Console Notifications

Notifications appear on the MicroTx web console in case of certain failures. These messages help to identify and troubleshoot the issue. See Troubleshooting.

Sample Helm Charts to Install MicroTx Without Istio Service Mesh

In Kubernetes, you can install MicroTx within a service mesh or without it. The installation bundle provides example Helm charts with sample values which you can use as a reference to install MicroTx on a Kubernetes cluster with and without using the Istio service mesh. See Prepare a Kubernetes Cluster.

Changes in 23.4.2

Experience enhanced performance and resilience with MicroTx Free 23.4.2, which was released in February, 2024.

Changes in the Enterprise Edition Release 23.4.1

The following features were introduced in MicroTx Enterprise Edition 23.4.1, which was released in December, 2023.

Manage Transactions Using the MicroTx Console

View the health of all the replicas of the MicroTx transaction coordinator and manage transactions using an easy-to-use graphical web console. See Manage Transactions Using the Web Console.

Manage Transaction Promotion

The MicroTx client library manages the local transactions. By handling a transaction locally, you can experience better performance. Local transactions save time and increase throughput as the MicroTx coordinator does not read, write, coordinate, or save database cache and logs for such transactions. See About Global and Local Transactions.

Visualize Metrics Using Grafana

The MicroTx coordinator exposes metrics in a format that can be easily read by Prometheus. Use Grafana to visualize the metrics data collected into Prometheus. You can import MicroTx dashboards to view the metrics in Grafana. Use these metrics to monitor your transactions and health of the MicroTx coordinator. See Monitor Performance.

MicroTx Supports Oracle RAC as a Resource Manager

You can use Oracle Real Application Clusters (RAC) as a resource manager for Node.js, JAX-RS, and Spring REST applications use the XA transaction protocol. See Supported Resource Managers.

Caching the Transaction Logs

Caching the transaction logs that are stored in etcd or Oracle Database to improve performance and optimize the read and write operations. See Enable Caching.

Create Multiple Replicas of the Transaction Coordinator

You can run multiple replicas of Transaction Manager for Microservices pod at a time. Oracle recommends a minimum of 3 replicas for production environments. See Environment Details.

You can scale up or down the number of replicas based on the number of transactions. When the number of transaction requests is low, scale down the number of replicas to use the resources efficiently.

Optimize Transactions that Use a Common Resource Manager

Based on your business requirements, you may use a single resource manager for multiple transaction participant services. When you use a common resource manager for multiple participant services, MicroTx can optimize the commit processing resulting in higher throughput and lower latency for XA transactions. See Common Resource Manager for Multiple Apps.

Store Transaction Details in Oracle Database or etcd

In addition to internal memory, MicroTx now supports etcd or Oracle Database as a data store for persistence of transaction state. See Supported Data Stores for Transaction Logs.

Recover Transactions

In case the transaction coordinator server fails, MicroTx resumes the transactions that are in progress after the server restarts. See About Transaction Recovery.

No Limit on the Number of Transactions

You can run up to 4800 transactions per hour across all the transaction protocols and across all replicas of the transaction coordinator when you use Transaction Manager for Microservices Free. There is no limit on the number of transactions in Transaction Manager for Microservices Enterprise Edition.

Changes in Free Release 23.4.1

The following features were introduced in MicroTx Free 23.4.1, which was released in October 2023.

Enhancements in the MicroTx Library

The enhanced MicroTx library provides functionality for the following applications:

MicroTx Supports Use of the @Transactional Annotation

You can easily configure your Java applications that use the XA transaction protocol by using the @Transactional annotation. See About @Transactional.

Enhanced Diagnostics and Troubleshooting through Log Correlation

The MicroTx coordinator and the MicroTx client libraries generate logs. In case of any failure, view the logs to identify the issue and troubleshoot. See Logs.

Changes in 22.3.2

The following new features were introduced in MicroTx 22.3.2, which was released in December 2022.

Last Resource Commit (LRC) Optimization for XA Transactions

In addition to Logging Last Resource (LLR) optimization, you can now use Last Resource Commit (LRC) optimization to enable one non-XA resource to participate in a global XA transaction. See Optimizations for a Non-XA Resource.

Support for Multiple Resource Managers for a Service

Based on your application's business logic, you can use multiple resource managers for a single participant service. A participant service can connect to multiple XA-compliant resource managers. However, only one non-XA resource is supported in a transaction. See Configure Multiple Resource Managers for a Single App.

MicroTx Library for Python Apps Using the TCC Transaction Protocol

The MicroTx library for Python provides the functionality to Python applications to initiate a new TCC transaction or to participate in an existing TCC transaction. Earlier, the MicroTx library for TCC transaction protocol supported only Java and Node.js applications. See Develop Python Apps with TCC.

Subscribe to Receive XA Transaction Notifications

You can register your transaction initiator and participant services to receive notifications. MicroTx notifies the registered services when the following events occur: before the prepare phase and when MicroTx successfully commits or rolls back a transaction. You may want to register your service, if based on the business logic your service performs additional tasks when an event occurs. See Subscribe to Receive XA Transaction Notifications.

MicroTx Library for WebLogic Server J2EE Applications

You can integrate the MicroTx library with your WebLogic Server J2EE applications. See Integrating XA Global Transactions Between WebLogic Server and Helidon Using MicroTx in Integrating Oracle WebLogic Server with Helidon.

Changes in 22.3.1

The following new feature was introduced in MicroTx 22.3.1, which was released in October 2022.

Support for Session Affinity

When there are multiple replicas of a participant service, the request may be directed to different replicas in a single transaction. When you enable session affinity for a participant service, all the requests for a particular transaction or session are routed to the same endpoint or replica of the participant service that served the first request. Depending on your business use case, you may have to enable session affinity for the transaction participant service or the transaction coordinator. See About Session Affinity.