Chiar dacă WebSphere Application Server tradiţional permite sesiuni JMS tranzacţionate local, portarea unei sesiuni JMS tranzacţionate locale de la WebSphere Application Server tradiţional la Liberty nu este permisă.
Această regulă semnalează codul Java cu referinţe la
metodele următoare când boolean-ul transacted este true sau
sessionMode este Session.SESSION_TRANSACTED sau JMSContext.SESSION_TRANSACTED:
Apelarea acestor metode cu aceste valori specifice poate duce la un comportament diferit în Liberty.
Conform specificaţiei JMS, în web-ul Java EE sau containerul EJB:
AUTO_ACKNOWLEDGE sau DUPS_OK_ACKNOWLEDGE şi Session sau contextul va fi
creat ca non-tranzacţionale, cu sessionMode/acknowledgeMode specificat.
În WebSphere tradiţional, parametrii care sunt transmişi nu sunt ignoraţi în aceste scenarii, permiţând
crearea unei Sesiuni tranzacţionate local. Dacă aceeaşi aplicaţie este rulată pe Liberty fără
nicio modificare, s-ar putea obţine în loc fie o Sesiune non-tranzacţională, fie aveţi Sesiunea nelistată creată
într-o tranzacţie globală existentă. În orice caz, dacă este obţinută o Session sau JMSContext,
încercarea de a apela commit() sau rollback() pe ea va cauza aruncarea unei excepţii.
Pentru informaţii, vedeţi Liberty:Runtime environment known issues and restrictions.