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.