Hi guys,
following request scope thread and to center the discussion on the thread safety part: do we work on this?
Background: @RequestScoped is often used as a ThreadLocal instance solution. A lot of SE or Batch implementations rely on it from what I saw as well as async implementations reusing existing business logic with this thread safety constraint.
Proposal: providing a @ThreadScoped implementation is cheap for CDI and implemenation and would avoid the headache we can have with @RequestScoped. Will also remove the quite dark side of the spec regarding servlet request and request scope since now we would have a more natural solution for all of these situation so @RequestScoped goals wouldn't collide as much.
Questions:
- is it automatically started as request scoped is (JMS, @Async, ...)? Alternative could be some configuration in beans.xml (merged accross the app):
<beans>
<scopes>
<thread>
<active>JMS</active>
<active>ASYNCHONOUS</active>
</thread>
</scopes>
</beans>
- start/stop API (this is typically an API the user should be able to control for its own threads)
- CDI 2.*0*?