<div class="gmail_quote">On Mon, Dec 21, 2009 at 3:24 AM, Ganesh <span dir="ltr">&lt;<a href="mailto:ganesh@j4fry.org">ganesh@j4fry.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The most essential and basic feature I miss is the conversation scope which<br>
is covered by weldx. Spring is only making a promise for 3.1 here.<br></blockquote><div><br>Actually, the conversation context is defined in the CDI specification, making it a standard scope that&#39;s available with any CDI implementation. It&#39;s not specific to Weld. However, Weld does add some features missing from the standard conversation (admittedly, some pretty important features).<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Conversation delimiters are set programmatically in weldx which I consider not<br>
ideal. I&#39;d wish having annotation/XML based navigation rules that cover<br>
conversations and contained beans. Maybe we can cover this feature in the future?<br></blockquote><div><br>I recognize that it was a bit of a let down that JSF 2 didn&#39;t define a conversation scope. But in the long run it was right to wait. The problem is that Java EE has never had a way to define new scopes. You could layer a framework over Java EE that did scoping, but the scope itself would never be standard. We didn&#39;t want JSF taking on the responsibility, especially since this feature was coming in CDI. But, the timing of the JSF 2 release made it impossible to have conversation scope defined at the time.<br>
<br>Now, there is a way in the platform to define new scopes. CDI went ahead and introduced the conversation scope, but stated explicitly that it is designed for use with JSF. In the future, I forsee scopes being defined by the specs in which they are used. So the conversation scope could be defined in the JSF specification, or, at the very least, there should be controls defined that manipulate the conversation scope. This integration would be along the lines of the JSF - Bean Validation integration. The JSF spec could define component tags / view metadata tags that control the boundaries of the conversation, just like in Seam (and other such frameworks).<br>
<br>In summary, this is a developing story. Things will improve and mature. We needed the scoping mechanism in CDI in order to define new scopes in the platform (which frameworks like Spring are free to emulate). Then we can go back and add controls in JSF to manipulate these scopes. And, tying into what Jeremy and I were discussing, it&#39;s really important that we standardize the scope annotations so that we can ensure maximum portability of beans (even between the platform and frameworks like Spring that utilize these declarations).<br>
<br>-Dan<br><br>p.s. Currently, you can control the CDI conversation using the standard Java API or via an EL expression (if you name the built-in conversation bean).<br></div></div><br>-- <br>Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br>
Registered Linux User #231597<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br><a href="http://www.google.com/profiles/dan.j.allen">http://www.google.com/profiles/dan.j.allen</a><br>