Sesiunile JMS tranzacţionate portate local nu funcţionează în Liberty

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:

Î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.