[
https://issues.jboss.org/browse/CDI-625?page=com.atlassian.jira.plugin.sy...
]
Martin Kouba commented on CDI-625:
----------------------------------
[~rmannibucau] Yep, the CDI-provided literals are not used yet and I agree it's a
backward compatibility risk. However, {{@PreDestroy}} CANNOT always replace this
functionality - the ordering of destruction is not defined and so beans are not allowed to
call other beans from within {{@PreDestroy}} callback (see also CDI-625).
[~struberg] [~emilyj] So I believe we should introduce a new event, for all built-in
scopes. {{(a)PreDestroying(X.class)}} is imho confusing. Maybe something like
{{(a)BeforeDestroyed(X.class)}}.
When exactly are events with @Initialized(X.class) and
@Destroyed(X.class) qualifiers fired
-------------------------------------------------------------------------------------------
Key: CDI-625
URL:
https://issues.jboss.org/browse/CDI-625
Project: CDI Specification Issues
Issue Type: Clarification
Components: Events
Reporter: Martin Kouba
Labels: F2F2016
Fix For: 2.0 (proposed)
The spec states that {{(a)Initialized(X.class)}} is fired when a context is initialized and
{{(a)Destroyed(X.class)}} when a context is destroyed (note that for {{@ApplicationScoped}}
the wording leaves out the context: _"when the application is destroyed"_).
Does it mean that:
* {{(a)Initialized(X.class)}} is fired *after the initialization* of a context is finished,
i.e. the context is ready?
* {{(a)Destroyed(X.class)}} is fired *after the destruction* of a context is finished, i.e.
after all the beans are destroyed?
I'm asking because for {{(a)Destroyed(X.class)}} it might be useful to perform some
cleanup before the context is actually destroyed - see also CDI-601.
In RI/Weld, the behaivour of {{(a)Destroyed(ApplicationScoped.class)}} is currently a
little bit inconsistent. For webapps and Weld SE, the event is fired before the context is
destroyed. But for non-web EE modules (e.g. ejb jar) the event is fired after the context
is destroyed.
I believe this should be more clear.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)