Hi all, <br>See comments below.<br><br><div class="gmail_quote">On Tue, Dec 29, 2009 at 3:44 PM, Gavin King <span dir="ltr">&lt;<a href="mailto:gavin.king@gmail.com" target="_blank">gavin.king@gmail.com</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;">


<br>
++  Clarify that scope types should not have members<br>
<br>
The spec should mention that @ScopeType annotations should not have<br>
annotation members. Perhaps this should be a definition error.<br>
javax.inject.Scope already mentions this.<br></blockquote><div><br>I&#39;m sure you meant @NormalScope.<br>Can I ask what the motivation is for preventing annotation members on scope annotations?  I could imagine some custom scopes needing some extra metadata, and the scope annotation seems like a handy place to put it.<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>
<br>
++ Clarify that interceptors/decorators don&#39;t apply to producers in<br>
resolution rules<br>
<br></blockquote><div><br>I don&#39;t understand.  7.2 seems to explicitly state that interceptors/decorators *do* apply to producer methods.  Can you clarify?<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

++ Producers and beans that are under construction<br>
<br>
I think we need the spec to say something about cases where an<br>
injection point of a bean resolves to a producer method of the same<br>
bean. The implementation should detect that this is a definition<br>
error. It shouldn&#39;t try to call a producer method on a<br>
non-fully-initialized bean.<br></blockquote><div><br>This is good, but I think we should be able to say something more general.  We&#39;d also want to outlaw this:<br><br>class Foo {<br>  @Inject @BarProduct Baz;<br><br>

  @Produces @FooProduct Baz produceBaz() { ... }<br>}<br><br>class Bar {<br>  @Inject @FooProduct Baz;<br><br>  @Produces @BarProduct Baz produceBaz() { ... }<br>}<br><br>So, I think it&#39;d be very helpful to have a section devoted to cyclic dependencies.  Some kind of cyclic dependencies are ok while others are not, and I think we can enumerate these.  <br>

<br><br>On a related note, I had asked once about how this is handled:<br><br>@RequestScoped<br>class Foo {<br>   @Inject Bar bar;<br><br>   @PostConstruct void init() {<br>      bar.doSomething();<br>   }<br>   ...<br>}<br>
<br>@RequestScoped<br>class Bar<br>{<br>   @Inject Foo foo;<br><br>   @PostConstruct void init() {<br>      foo.doSomethingElse();<br>   }<br>   ...<br>}<br><br>Is this maintenance release an appropriate time to address this question?  <br>
(I haven&#39;t yet checked how Weld handles this)<br> <br><br>Also, I&#39;m a little surprised your list didn&#39;t contain a ConversationManager API.  Is this too big of a thing for a maintenance release?  It seems pretty important to me.<br>
And even if we can&#39;t address it for the MR, maybe we can at least start a discussion to nail down the API.  Sooner is better than later, I think.<br><br>Thanks,<br>-Matt<br><br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<font color="#888888"><br>
<br>
--<br>
Gavin King<br>
<a href="mailto:gavin.king@gmail.com" target="_blank">gavin.king@gmail.com</a><br>
<a href="http://in.relation.to/Bloggers/Gavin" target="_blank">http://in.relation.to/Bloggers/Gavin</a><br>
<a href="http://hibernate.org" target="_blank">http://hibernate.org</a><br>
<a href="http://seamframework.org" target="_blank">http://seamframework.org</a><br>
</font></blockquote></div><br>