Details
-
Documentation
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
We allow IsisInteractions to be nested. The @IsisInteractionScope is always bound to the top-level IsisInteraction of the current thread's session stack. (first stack element, aka bottom of stack)
Isis (not Spring) is aware, when any IsisInteractionScope ends. So at the end of each IsisInteractionScope, we call the destruction runnables on the IsisInteractionScope-d beans that belong to the current thread, then clear the IsisInteraction stack (of the current thread). (edited)
The IsisInteractionScope-d beans are managed by Spring, that is Spring creates them and registers their destruction runnables.
Requires Provider idiom: we fail early if one tries to inject an IsisInteractionScope-d bean directly. The thrown exception gives a hint, how to fix it. (Use the Provider<> idiom instead)
Attachments
Attachments
Issue Links
- is related to
-
CAUSEWAY-2296 @RequestScoped isn't honoured
- Closed
-
CAUSEWAY-2441 Auditing/Publishing: dispatch calls happen before enlist calls
- Closed
-
CAUSEWAY-2320 Rename IsisSessionScope -> IsisInteractionScope
- Closed
-
CAUSEWAY-2323 Allow for IsisInteractions to store User Data (InteractionScoped)
- Closed