[
https://issues.jboss.org/browse/CDI-587?page=com.atlassian.jira.plugin.sy...
]
Romain Manni-Bucau edited comment on CDI-587 at 7/18/18 9:43 AM:
-----------------------------------------------------------------
Since CDI 2 we could have a simple solution reusing RequestContextController and adding a
method to be able to manipulate the context:
{code}
RequestContextController scope = controller.handler();
// do something
// start a new thread or eq () -> {
scope.activate();
try { /*...*/}
finally { scope.deactivate(); }
// };
{code}
It would:
1. let to the caller the thread safety responsability
2. use some kind of reference counting to not destroy the scope too early (before all
deactivate are called)
was (Author: rmannibucau):
Since CDI 2 we could have a simple solution reusing RequestContextController and adding a
method to be able to manipulate the context:
{code}
RequestContextController scope = controller.handler();
// do something
// start a new thread or eq () -> {
scope.activate();
try { /*...*/}
finally { scope.deactivate(); }
// };
It would:
1. let to the caller the thread safety responsability
2. use some kind of reference counting to not destroy the scope too early (before all
deactivate are called)
Propose a way to propagate an existing context
----------------------------------------------
Key: CDI-587
URL:
https://issues.jboss.org/browse/CDI-587
Project: CDI Specification Issues
Issue Type: Epic
Components: Contexts
Affects Versions: 1.2.Final
Reporter: Romain Manni-Bucau
The overall idea is to ensure that it is not cause the code becomes
asynchronous/reactive/... that we loose the instances or get another context.
An example is starting an AsyncContext in a servlet.
One proposal is to add a flag to ask for propagation of the context in async managed
threads: @RequestScoped(inherited = true) which would reuse the same instances for these
"new" threads.
Note however this issue is not only bound to servlets even if it is the easiest example.
The original thread disucssion on the list:
http://cdi-development-mailing-list.1064426.n5.nabble.com/RequestScope-Li...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)