[cdi-dev] [JBoss JIRA] (CDI-732) Clarify that the Context for RequestScoped must be active during @PreDestroy calls

Matej Novotny (JIRA) issues at jboss.org
Mon Jul 2 10:01:00 EDT 2018

    [ https://issues.jboss.org/browse/CDI-732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13599531#comment-13599531 ] 

Matej Novotny commented on CDI-732:

This can be tricky because we do not know in what order should we destroy those "HTTP-related" scopes(e.g. session, request and conversation). Spec doesn't mention it and according to what you write I presume implementations differ already.

Based on this premise it may not make sense to have it active, at least not in all cases - for instance if you were to destroy request scoped beans before session scope ones, you would need to recreate those req. beans just to have them available in {{@PreDestroy}} of session scope bean.

> 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

More information about the cdi-dev mailing list