Хотя WebSphere Application Server traditional поддерживает сеансы JMS с локальными транзакциями, перенос таких сеансов из WebSphere Application Server traditional в Liberty невозможен.
Это правило помечает код Java со ссылками на следующие методы, когда значение transacted - true или sessionMode - Session.SESSION_TRANSACTED или JMSContext.SESSION_TRANSACTED:
Поведение этих методов с такими значениями параметров может отличаться в Liberty.
В соответствии со спецификацией JMS в веб-контейнере или контейнере EJB Java EE:
AUTO_ACKNOWLEDGE или DUPS_OK_ACKNOWLEDGE, а сеанс или контекст создается без поддержки транзакций, с указанным значением sessionMode/acknowledgeMode.
В WebSphere traditional переданные параметры не игнорируются в этих случаях, что позволяет создать сеанс с локальными транзакциями. Если то же приложение выполняется в Liberty без изменений, то либо оно получает сеанс без поддержки транзакций, либо его созданный сеанс попадает в состав существующей глобальной транзакции. В любом случае при получении объекта Session или JMSContext попытка вызывать метод commit() или rollback() у него приведет к исключительной ситуации.
См. раздел Liberty. Известные неполадки и ограничения среды выполнения.