已移轉的本端交易式 JMS 階段作業在 Liberty 中不會運作

即使 WebSphere Application Server Traditional 容許本端交易式 JMS 階段作業,也不容許將 WebSphere Application Server Traditional 本端交易式 JMS 階段作業移轉至 Liberty。

transacted 布林為 true,或是在 sessionModeSession.SESSION_TRANSACTEDJMSContext.SESSION_TRANSACTED 時,此規則會標示包含對下列方法之參照的 Java 程式碼:

使用這些特定值來呼叫這些方法,會導致在 Liberty 中出現不同的行為。

根據 JMS 規格,在 Java EE Web 或 EJB 儲存器中:

在 WebSphere Traditional 中,所傳入的參數在上述實務中並不會忽略,因此容許建立本端交易式階段作業。 如果該相同應用程式是在 Liberty 中執行但未進行任何變更,則它可能會改為取得非交易式階段作業,或將已建立的階段作業列入現有廣域交易中。 在任一情況下,如果取得 SessionJMSContext,則嘗試對其呼叫 commit() 或 rollback() 皆會導致擲出異常狀況。

如需相關資訊,請參閱 Liberty:執行時期環境已知問題及限制