[cdi-dev] Managing Dependent Scoped Beans

Romain Manni-Bucau rmannibucau at gmail.com
Sun May 15 11:05:02 EDT 2016

Hi Jon

Le 15 mai 2016 16:15, "John D. Ament" <john.d.ament at gmail.com> a écrit :
> Hey guys
> Seems like we have some issues in JIRA all focused on managing the
lifecycle of Dependent scoped beans.  It also seems like we have many
differing opinions about how to manage them.
> - Martin raised a PR to add a release() method to Instance to help
destroy a dependent bean https://github.com/cdi-spec/cdi/pull/286
> - I raised a PR https://github.com/cdi-spec/cdi/pull/289 to update the
spec to clarify how to manage a dependent scoped bean.
> Right now, it seems that the big disagreement is whether
Instance.destroy() can destroy objects not created by it (the case being
around the CDI utility class, being an impl of Instance).  I'm currently
heavily against Martin's proposed changes, but want to get input from
others on the group to understand their perspective.
> - Does the spec require destroy() to be called only on instances that it
created?  When I read 5.6.1 the only requirement I see is that it has to be
a dependent scoped bean.  Note when I ask this I'm asking from the spec
perspective, its a different problem if there's some issues with
implementations following suite (I would imagine there needs to be some
shared global registry of dependent scoped beans for this to work).

Sound the only clean impl. Any other is not symmetric and potentially lead
to "oops this time it didnt work". I also not seeing any use case
limitation with that so think it is the same solution

> - Do we want two methods that effectively do the same thing?  I don't see
a strong difference between the two.
> On the flipside, my change is more a spec clarification.  I'm thinking
more now that it belongs as a reword of 5.6.1 to clarify how to use
destroy() on dependent beans, rather than where I put it.  I think
realistically we have all of the tools needed to manage the lifecycle of
these classes, just need to clarify them for people to use.
> John
> _______________________________________________
> cdi-dev mailing list
> cdi-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
> Note that for all code provided on this list, the provider licenses the
code under the Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
provided on this list, the provider waives all patent and other
intellectual property rights inherent in such information.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/cdi-dev/attachments/20160515/f4a6b562/attachment.html 

More information about the cdi-dev mailing list