[
https://issues.apache.org/jira/browse/ISIS-2301?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andi Huber updated ISIS-2301:
-----------------------------
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)
was:
We allow IsisSessions to be nested. The @IsisSessionScope is always bound to
the top-level IsisSession of the current thread's session stack. (first stack
element, aka bottom of stack)
Isis (not Spring) is aware, when any IsisSessionScope ends. So at the end of
each IsisSessionScope, we call the destruction runnables on the
IsisSessionScope-d beans that belong to the current thread, then clear the
IsisSession stack (of the current thread). (edited)
The IsisSessionScope-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
IsisSessionScope-d bean directly. The thrown exception gives a hint, how to fix
it. (Use the Provider<> idiom instead)
> Docs for new IsisInteractionScope
> ---------------------------------
>
> Key: ISIS-2301
> URL: https://issues.apache.org/jira/browse/ISIS-2301
> Project: Isis
> Issue Type: Improvement
> Components: Isis Docs & Website
> Reporter: Andi Huber
> Assignee: Andi Huber
> Priority: Major
> Fix For: 2.0.0-M4
>
>
> 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)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)