<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 28 Dec 2014, at 12:38, Antonio Goncalves &lt;<a href="mailto:antonio.goncalves@gmail.com" class="">antonio.goncalves@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi all,<div class=""><br class=""></div><div class="">I was playing with @SessionScoped beans... and wondered if @PostActivate, @PrePassivate and @Remove would make sense in JSR 250 ?</div><div class=""><br class=""></div><div class="">At the moment these annotations belong to the javax.ejb package and are only used in @Stateful EJBs. With CDI scopes, we end up with a few "stateful" scopes (@SessionScoped, but also @ConversationScoped, @ViewScoped...) so why not having the same functionality in CDI ? @PreDestroy and @PostConstruct are already part of JSR 250. So why not having @PostActivate and @PrePassivate as well so they could be used in every bean ?&nbsp;</div><div class=""><br class=""></div><div class="">BTW, while I was playing with @SessionScoped beans, I asked Antoine to show me how to remove a bean from the session. It's only a few lines of code, but again, why not having a @Remove annotation that does that (the exact same one of javax.ejb.Remove) ?<br class=""></div></div></div></blockquote><div><br class=""></div><div>I always found @Remove extremely weird, I think removing a bean instance should be an explicit action, not an side effect of calling some other method.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">To summarize, why not taking some of those stateful EJB concerns back to JSR 250 so they could be used anywhere ?</div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">Any thoughts ?</div><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature"><div dir="ltr" class="">Antonio Goncalves <br class="">Software architect, Java Champion and Pluralsight author<br class=""><br class=""><a href="http://www.antoniogoncalves.org/" target="_blank" class="">Web site</a>&nbsp;|&nbsp;<a href="http://twitter.com/agoncal" target="_blank" class="">Twitter</a> |&nbsp;<a href="http://www.linkedin.com/in/agoncal" target="_blank" class="">LinkedIn</a>&nbsp;| <a href="http://pluralsight.com/training/Authors/Details/antonio-goncalves" target="_blank" class="">Pluralsight</a>&nbsp;|&nbsp;<a href="http://www.parisjug.org/" target="_blank" class="">Paris JUG</a>&nbsp;| <a href="http://www.devoxx.fr/" target="_blank" class="">Devoxx France</a></div></div>
</div></div></div>
_______________________________________________<br class="">cdi-dev mailing list<br class=""><a href="mailto:cdi-dev@lists.jboss.org" class="">cdi-dev@lists.jboss.org</a><br class="">https://lists.jboss.org/mailman/listinfo/cdi-dev<br class=""><br class="">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.</div></blockquote></div><br class=""></body></html>