Kétfázisú véglegesítési tranzakciók

A kétfázisos véglegesítési (XA) tranzakciók a Liberty összeépítési csomagokban Cloud Foundry környezetek esetén le vannak tiltva. A Liberty tranzakciókezelő alapértelmezésben a helyi fájlrendszerre írja ki a tranzakciós naplófájlt. Mivel a helyi fájlrendszer felhőkörnyezetekben átmeneti, a tranzakciós naplófájl az alkalmazás vagy a Java látszólagos gép összeomlás azután nem érhető el. ár a tranzakciókezelőt be lehet úgy állítani, hogy adatbázis szolgáltatást használjon a tranzakciós naplók tárolásához, a felhőkörnyezetek automatikusan az alkalmazás teljesen új példányát hozzák létre összeomlás után. Ennek eredményeként a tranzakciókezelő nem tudja beazonosítani, hogy melyik naplót kell a meghibásodott példány tranzakcióinak helyreállításához használni.

A kétfázisos véglegesítési tranzakciók az EJB komponensek vagy a javax.transaction.UserTransaction osztály alkalmazás általi használatával alkalmazhatók. A Cloud Foundry környezetben történő sikeres futtatás érdekében ellenőrizze, hogy az alkalmazás igényel-e XA tranzakciókat.

Az Enterprise JavaBeans (EJB) komponensek alapértelmezésben tároló által felügyeltek és rendelkeznek Required tranzakciós attribútummal, ami azt jelenti, hogy JTA tranzakciókat használnak. Az egyetlen erőforrásra kiterjedő JTA tranzakciók teljes mértékben támogatottak. A több erőforrásra kiterjedő JTA tranzakciók kétfázisos véglegesítést igényelnek, ami nem támogatott Cloud Foundry környezetekben.

A Java kódban a következő kifejezett annotációk JTA tranzakciók használatát jelzik:

Az ejb-jar.xml fájlban a következő explicit elemek jelzik a JTA tranzakciók használatát:

Megjegyzés: Ha alkalmazása nem használja a javax.transaction.UserTransaction osztályt, és alkalmazásának összes EJB komponense komponens által felügyelt, vagy tároló által felügyelt "Never" vagy "NotSupported" tranzakciós attribútumokkal, akkor alkalmazása nem használ XA tranzakciókat és ennek a szabálynak a jelzése figyelmen kívül hagyható.

A következő explicit annotációk és elemek jelzik, hogy az EJB komponens nem használ XA tranzakciókat: