Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-6493

Make sure transactions are always active when navigating and executing Seam EL.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.4.1, 5.4.2-RC1, 5.4.2
    • Component/s: None

      Description

      When for instance clicking on the LiveEdit link, the following happens:

      • nxliveedit.xhtml page view requested
      • Seam phases 1-5 processing
      • RENDER_RESPONSE (6) processing
      • SeamPhaseListener.beforePhase (Seam code)
      • SeamPhaseListener.handleTransactionsBeforePhase -> starts a transaction
      • SeamPhaseListener.beforeRenderResponse
      • SeamPhaseListener.preRenderPage -> executes pages actions, which includes generating LE bootstrap document
      • SeamPhaseListener.handleTransactionsAfterPageActions -> commits transaction as there were page actions, but does not start a new one
      • RestfulPhaseListener.beforePhase (Nuxeo code)
      • service.navigate -> calls EL expressions -> inject documentManager > create a LocalSession outside of a transaction

      So a session outside a transaction has been created and is being held by the DocumentManagerBusinessDelegate in its sessions map, and will be served later to other requests. Because it was created outside a transaction, it is not registered with the transaction manager therefore invalidations processing and auto-save do not happen.

      Possible symptoms are incoherent displays (fetching back old values, including the checkin/checkout state) after a call to liveedit.

        Attachments

          Activity

            People

            • Assignee:
              fguillaume Florent Guillaume
              Reporter:
              fguillaume Florent Guillaume
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: