Las sesiones JMS de transacción local transportadas no funcionan en Liberty

Aunque WebSphere Application Server tradicional permite las sesiones JMS de transacción local, el transporte de una sesión JMS de transacción local de WebSphere Application Server a Liberty no está permitido.

Esta regla señala el código Java con referencias a los métodos siguientes cuando el booleano transacted es true o sessionMode es Session.SESSION_TRANSACTED o JMSContext.SESSION_TRANSACTED:

Llamar estos métodos con estos valores específicos puede provocar un comportamiento diferente en Liberty.

Según la especificación JMS, en el contenedor EJB o web de Java EE:

En WebSphere tradicional, los parámetros que se pasan no se ignoran en esos escenarios, permitiendo así la creación de una sesión de transacción local. Si la misma aplicación se ejecuta en Liberty sin cambios, puede obtener una sesión no de transacción o hacer que la sesión creada se incluya en una transacción global existente. En cualquier caso, si se obtiene Session o JMSContext, el intento de llamar a commit() o rollback() sobre ellos provocará una excepción.

Para obtener información, consulte Liberty: Problemas conocidos y restricciones de entorno de tiempo de ejecución.