Przeniesione sesje JMS z transakcjami lokalnymi nie działają na serwerze Liberty

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:

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.