[
https://issues.jboss.org/browse/CDI-732?page=com.atlassian.jira.plugin.sy...
]
Benjamin Confino commented on CDI-732:
--------------------------------------
Unless I am mistaken there is a rule that a session scope should remain active until all
the associated requests are finished. The spec says a session context is destroyed
"and at the very end of any request in which invalidate() was called" - keywords
"very end", but I think even if it didn't call invalidate() sessions always
last until the very end of their associated requests.
This to me suggests RequestScoped beans will be destroyed first, and thus it makes sense
that they're not available during the PreDestroy of a SessionScope bean. However from
my perspective it doesn't matter which is destroyed first, so long as the spec is
updated to define the order.
Clarify that the Context for RequestScoped must be active during
@PreDestroy calls
----------------------------------------------------------------------------------
Key: CDI-732
URL:
https://issues.jboss.org/browse/CDI-732
Project: CDI Specification Issues
Issue Type: Feature Request
Components: Contexts
Affects Versions: 2.0 .Final
Reporter: Mark Struberg
We have the explicit rule that the Context for @RequestScoped must be active during
@PostConstruct of any bean.
But it seems we don't force the same for invocations of @PreDestroy methods.
That's especially weird since a few containers now blow up during a destroyal of a
@SessionScopedBean which has a @RequestScoped Principal injected, even if the session
destroyal was triggered by an explicit Session#invalidate() call in an open HTTP request.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)