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

A két fázisú véglegesítési (XA) tranzakciók felhőkörnyezetekben futó Liberty kiszolgálón nem engedélyezettek. 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.

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ő tranzakciók két fázisú véglegesítést igényelnek, ami nem támogatott. Ez a szabály a ejb-jar.xml fájlokat és az olyan Java kódot jelzi, amely a javax.ejb csomagra hivatkozik. Ez a szabály a Java kódot is megjelöli, amely hivatkozik a Javax.tranzakció.UserTransaction osztály. Ellenőrizze, hogy alkalmazása használ-e XA tranzakciókat, és távolítsa el az XA tranzakciókat, ha jelen vannak.

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 az alkalmazás nem használja a Javax.tranzakció.UserTransaction osztály, és az összes alkalmazás EJB komponens a (z) "Soha" vagy "NotSupported" tranzakciós attribútumokkal kezelt komponens vagy tároló, akkor az alkalmazás nem XA tranzakciókat használ, és a szabály lefutása 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: