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:
AUTO_ACKNOWLEDGE o DUPS_OK_ACKNOWLEDGE y la sesión o el contexto se creará como no
transaccional con el sessionMode/acknowledgeMode especificado.
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.