<div dir="ltr">Alright, the specification and TCK is inconsistent. But as a user, I dont care about the TCK and it does not make sense to enforce requirements on the specification in the TCK. For users, strictly speaking, anything not stated in the specification is unsupported. Correct?<div>
<div><div><br></div><div><br><div><div> <br></div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Sep 7, 2013 at 8:03 PM, Mark Struberg <span dir="ltr">&lt;<a href="mailto:struberg@yahoo.de" target="_blank">struberg@yahoo.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">And before there are any questions: it&#39;s not directly stated inside the CDI spec but in the TCK documentation:<br>
<br>
<a href="http://docs.jboss.org/cdi/tck/reference/1.0.4.SP1/pdf/jsr299-tck-reference-guide.pdf" target="_blank">http://docs.jboss.org/cdi/tck/reference/1.0.4.SP1/pdf/jsr299-tck-reference-guide.pdf</a><br>
<br>
&quot;JSR-330 - CDI builds on JSR-330, and as such JSR-299 implementations must additionally pass the JSR-330 TCK.&quot;<br>
<br>
again: I agree with Martin that you should better not use it. But it should work nontheless.<br>
<div class="im"><br>
LieGrue,<br>
strub<br>
<br>
<br>
<br>
<br>
----- Original Message -----<br>
</div><div class="im">&gt; From: Mark Struberg &lt;<a href="mailto:struberg@yahoo.de">struberg@yahoo.de</a>&gt;<br>
&gt; To: Martin Kouba &lt;<a href="mailto:mkouba@redhat.com">mkouba@redhat.com</a>&gt;; Kristoffer Sjögren &lt;<a href="mailto:stoffe@gmail.com">stoffe@gmail.com</a>&gt;<br>
&gt; Cc: &quot;<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>&quot; &lt;<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>&gt;<br>
&gt; Sent: Saturday, 7 September 2013, 19:22<br>
&gt; Subject: Re: [weld-dev] PostConstruct &amp; PreDestroy in Java SE<br>
&gt;<br>
</div>&gt;T he wording is not correct.<br>
<div class="HOEnZb"><div class="h5">&gt;<br>
&gt; Each JSR-299 Container must _fully_ implement the JSR-330 specification and pass<br>
&gt; the JSR-330 TCK. Thus each CDI Container MUST support javax.inject.Singleton.<br>
&gt; But it&#39;s actually not really defined in detail how this scope should behave.<br>
&gt; And the atinject and EE specs also define that @PostConstruct and @PreDestroy<br>
&gt; must work for @Singleton beans. So this is imo a bug. But otoh I personally<br>
&gt; would suggest to not use javax.inject.Singleton because of the aforementioned<br>
&gt; underspecified behaviout.<br>
&gt;<br>
&gt; LieGrue,<br>
&gt; strub<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ----- Original Message -----<br>
&gt;&gt;  From: Martin Kouba &lt;<a href="mailto:mkouba@redhat.com">mkouba@redhat.com</a>&gt;<br>
&gt;&gt;  To: Kristoffer Sjögren &lt;<a href="mailto:stoffe@gmail.com">stoffe@gmail.com</a>&gt;<br>
&gt;&gt;  Cc: <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt;&gt;  Sent: Friday, 6 September 2013, 14:31<br>
&gt;&gt;  Subject: Re: [weld-dev] PostConstruct &amp; PreDestroy in Java SE<br>
&gt;&gt;<br>
&gt;&gt;  Actually there&#39;s no singleton scope and corresponding built-in context<br>
&gt;&gt;  defined in the CDI spec. Though Weld API contains<br>
&gt;&gt;  org.jboss.weld.context.SingletonContext. Also the docs are outdated<br>
&gt;&gt;  (chapter 5.4. The singleton pseudo-scope). I think relevant classes<br>
&gt;&gt;  should be deprecated and the docs updated.<br>
&gt;&gt;<br>
&gt;&gt;  With regard to lifecycle callbacks - Weld only invalidates application<br>
&gt;&gt;  context during shutdown right now [1].<br>
&gt;&gt;<br>
&gt;&gt;  Martin<br>
&gt;&gt;<br>
&gt;&gt;  [1]<br>
&gt;&gt;<br>
&gt; <a href="https://github.com/weld/core/blob/master/impl/src/main/java/org/jboss/weld/bootstrap/WeldRuntime.java#L56" target="_blank">https://github.com/weld/core/blob/master/impl/src/main/java/org/jboss/weld/bootstrap/WeldRuntime.java#L56</a><br>

&gt;&gt;<br>
&gt;&gt;  Dne 6.9.2013 14:09, Kristoffer Sjögren napsal(a):<br>
&gt;&gt;&gt;   Hi<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   We&#39;re running Weld 2.0.3.Final in a Java SE environment and have<br>
&gt;&gt;&gt;   encountered a precarious situation where it seems like Weld is not<br>
&gt;&gt;&gt;   consistent in handling the lifecycle of singleton beans.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   We have singleton beans with @PostConstruct and @PreDestroy methods.<br>
&gt;&gt;&gt;   During Weld.initialize() all @PostConstruct methods are called. But<br>
&gt;&gt;&gt;   during @PreDestroy methods are never called during Weld.shutdown().<br>
&gt;&gt;&gt;   @PreDestroy is only called on beans which are @ApplicationScoped.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Is this according to specification or a bug?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   Cheers,<br>
&gt;&gt;&gt;   -Kristoffer<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   _______________________________________________<br>
&gt;&gt;&gt;   weld-dev mailing list<br>
&gt;&gt;&gt;   <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;   <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;  _______________________________________________<br>
&gt;&gt;  weld-dev mailing list<br>
&gt;&gt;  <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt;&gt;  <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; weld-dev mailing list<br>
&gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt;<br>
</div></div></blockquote></div><br></div>