Mimo że serwer WebSphere Application Server traditional zezwala na sesje JMS z transakcjami lokalnymi, przeniesienie sesji JMS z transakcjami lokalnymi serwera WebSphere Application Server traditional do serwera Liberty jest niedozwolone.
Ta reguła oznacza kod Java z odwołaniami do następujących metod,
gdy wartością boolowską parametru transacted
jest true albo wartością parametru sessionMode
jest Session.SESSION_TRANSACTED lub JMSContext.SESSION_TRANSACTED:
Wywołanie tych metod z tymi konkretnymi wartościami może spowodować inne zachowanie na serwerze Liberty.
Zgodnie ze specyfikacją JMS w kontenerze WWW lub EJB Java EE:
AUTO_ACKNOWLEDGE lub DUPS_OK_ACKNOWLEDGE,
a sesja lub kontekst zostanie utworzony bez transakcji z podanymi parametrami sessionMode/acknowledgeMode.
W tradycyjnym produkcie WebSphere przekazywane parametry nie są ignorowane w tych scenariuszach,
co umożliwia utworzenie sesji z transakcjami lokalnymi. Jeśli ta sama aplikacja zostanie uruchomiona
na serwerze Liberty bez wprowadzania zmian, może ona uzyskać sesję bez transakcji lub mieć utworzoną
sesję zarejestrowaną w istniejącej transakcji globalnej. W obu przypadkach w przypadku uzyskania
sesji Session lub kontekstu JMSContext, próba wywołania metody commit() lub rollback() spowoduje zgłoszenie wyjątku.
Więcej informacji zawiera temat Liberty: Znane problemy i ograniczenia środowiska wykonawczego.