The XA standard is a specification for conducting the 2PC distributed transactions across the supporting resources. Any JTA-compliant application server (JBoss, GlassFish etc.) supports it out-of-the-box.
The resources participating in a distributed transactions could be, for example, two databases of two different microservices.
freestar
However, to take advantage of this mechanism, the resources have to be deployed to a single JTA platform. This isn't always feasible for a microservice architecture.