No, I don't expect users to read the TCK - but it's binding for the container 
vendors.

Again: I completely agree with Martin with his advice to not use 
@javax.inject.Singleton in CDI projects as it is really underspecified in 
JSR-330 already. And JSR-299 does not add any wording to make things more 
clear. 

But the fuzzyness around @Singleton is mainly about it's lifecycle, etc. The 
requirement for @PostConstruct and @PreDestroy support is otoh actually pretty 
well defined in atinject imo.


LieGrue,
strub



>________________________________
> From: Kristoffer Sjögren <[email protected]>
>To: Mark Struberg <[email protected]> 
>Cc: Martin Kouba <[email protected]>; "[email protected]" 
><[email protected]> 
>Sent: Saturday, 7 September 2013, 21:11
>Subject: Re: [weld-dev] PostConstruct & PreDestroy in Java SE
> 
>
>
>http://docs.jboss.org/cdi/spec/1.1/cdi-spec.pdf "1.2.4 Relationship to 
>Dependency Injection for Java"  is what you referring to I suppose? But there 
>is no telling how to use it. Also, its a bit unfortunate that we have two 
>Singleton annotations, begging for confusion.
>
>
>Nevermind vagueness, but do you expect users to read the TCK? Not trying 
>criticize, there may be room for improvement here no?
>
>
>
>
>
>
>On Sat, Sep 7, 2013 at 8:57 PM, Mark Struberg <[email protected]> wrote:
>
>
>>
>>No, the TCK is part of the deliverable for the specification. As is the API 
>>JavaDoc.
>>
>>Also the spec mentions the 'Injection for Java' specification (== JSR-330) as 
>>reference.
>>
>>
>>LieGrue,
>>strub
>>
>>
>>
>>>________________________________
>>> From: Kristoffer Sjögren <[email protected]>
>>>To: Mark Struberg <[email protected]>
>>>Cc: Martin Kouba <[email protected]>; "[email protected]" 
>>><[email protected]>
>>>Sent: Saturday, 7 September 2013, 20:54
>>
>>>Subject: Re: [weld-dev] PostConstruct & PreDestroy in Java SE
>>>
>>>
>>>
>>>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?
>>>
>>>
>>>
>>>
>>> 
>>>
>>>
>>>
>>>
>>>On Sat, Sep 7, 2013 at 8:03 PM, Mark Struberg <[email protected]> wrote:
>>>
>>>And before there are any questions: it's not directly stated inside the CDI 
>>>spec but in the TCK documentation:
>>>>
>>>>http://docs.jboss.org/cdi/tck/reference/1.0.4.SP1/pdf/jsr299-tck-reference-guide.pdf
>>>>
>>>>"JSR-330 - CDI builds on JSR-330, and as such JSR-299 implementations must 
>>>>additionally pass the JSR-330 TCK."
>>>>
>>>>again: I agree with Martin that you should better not use it. But it should 
>>>>work nontheless.
>>>>
>>>>
>>>>LieGrue,
>>>>strub
>>>>
>>>>
>>>>
>>>>
>>>>----- Original Message -----
>>>>
>>>>> From: Mark Struberg <[email protected]>
>>>>> To: Martin Kouba <[email protected]>; Kristoffer Sjögren 
>>>>> <[email protected]>
>>>>> Cc: "[email protected]" <[email protected]>
>>>>> Sent: Saturday, 7 September 2013, 19:22
>>>>> Subject: Re: [weld-dev] PostConstruct & PreDestroy in Java SE
>>>>>
>>>>>T he wording is not correct.
>>>>
>>>>>
>>>>> Each JSR-299 Container must _fully_ implement the JSR-330 specification 
>>>>> and pass
>>>>> the JSR-330 TCK. Thus each CDI Container MUST support 
>>>>> javax.inject.Singleton.
>>>>> But it's actually not really defined in detail how this scope should 
>>>>> behave.
>>>>> And the atinject and EE specs also define that @PostConstruct and 
>>>>> @PreDestroy
>>>>> must work for @Singleton beans. So this is imo a bug. But otoh I 
>>>>> personally
>>>>> would suggest to not use javax.inject.Singleton because of the 
>>>>> aforementioned
>>>>> underspecified behaviout.
>>>>>
>>>>> LieGrue,
>>>>> strub
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>>>  From: Martin Kouba <[email protected]>
>>>>>>  To: Kristoffer Sjögren <[email protected]>
>>>>>>  Cc: [email protected]
>>>>>>  Sent: Friday, 6 September 2013, 14:31
>>>>>>  Subject: Re: [weld-dev] PostConstruct & PreDestroy in Java SE
>>>>>>
>>>>>>  Actually there's no singleton scope and corresponding built-in context
>>>>>>  defined in the CDI spec. Though Weld API contains
>>>>>>  org.jboss.weld.context.SingletonContext. Also the docs are outdated
>>>>>>  (chapter 5.4. The singleton pseudo-scope). I think relevant classes
>>>>>>  should be deprecated and the docs updated.
>>>>>>
>>>>>>  With regard to lifecycle callbacks - Weld only invalidates application
>>>>>>  context during shutdown right now [1].
>>>>>>
>>>>>>  Martin
>>>>>>
>>>>>>  [1]
>>>>>>
>>>>> https://github.com/weld/core/blob/master/impl/src/main/java/org/jboss/weld/bootstrap/WeldRuntime.java#L56
>>>>>>
>>>>>>  Dne 6.9.2013 14:09, Kristoffer Sjögren napsal(a):
>>>>>>>   Hi
>>>>>>>
>>>>>>>   We're running Weld 2.0.3.Final in a Java SE environment and have
>>>>>>>   encountered a precarious situation where it seems like Weld is not
>>>>>>>   consistent in handling the lifecycle of singleton beans.
>>>>>>>
>>>>>>>   We have singleton beans with @PostConstruct and @PreDestroy methods.
>>>>>>>   During Weld.initialize() all @PostConstruct methods are called. But
>>>>>>>   during @PreDestroy methods are never called during Weld.shutdown().
>>>>>>>   @PreDestroy is only called on beans which are @ApplicationScoped.
>>>>>>>
>>>>>>>   Is this according to specification or a bug?
>>>>>>>
>>>>>>>   Cheers,
>>>>>>>   -Kristoffer
>>>>>>>
>>>>>>>
>>>>>>>   _______________________________________________
>>>>>>>   weld-dev mailing list
>>>>>>>   [email protected]
>>>>>>>   https://lists.jboss.org/mailman/listinfo/weld-dev
>>>>>>>
>>>>>>
>>>>>>  _______________________________________________
>>>>>>  weld-dev mailing list
>>>>>>  [email protected]
>>>>>>  https://lists.jboss.org/mailman/listinfo/weld-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> weld-dev mailing list
>>>>> [email protected]
>>>>> https://lists.jboss.org/mailman/listinfo/weld-dev
>>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>

_______________________________________________
weld-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev

Reply via email to