jsr345-experts@ejb-spec.java.net

[jsr345-experts] Re: [ejb-spec users] Re: XXX under section 4.3.5

From: Marina Vatkina <marina.vatkina_at_oracle.com>
Date: Fri, 09 Sep 2011 16:22:24 -0700

Thank you guys. I'll leave it as-is.

-marina

Reza Rahman wrote:
> +1
>
> On 9/8/2011 5:14 AM, Stefan Heldt wrote:
>> Marina,
>>
>> to me it's pretty clear that all cited paragraphs talk about methods
>> implemented on the bean class itself. All methods except ejbCreate
>> are part of the interface SessionBean, hence you are forced to
>> implement them on the bean class if it implements the interface.
>>
>> Regards
>> Stefan!
>>
>> -----Ursprüngliche Nachricht-----
>> Von: Marina Vatkina [mailto:marina.vatkina_at_oracle.com]
>> Gesendet: Donnerstag, 8. September 2011 00:42
>> An: jsr345-experts_at_ejb-spec.java.net
>> Betreff: [jsr345-experts] Re: [ejb-spec users] Re: XXX under section
>> 4.3.5
>>
>> Uh-oh... it's again the hidden characters that chop off most of my
>> email :(.. Trying again...
>>
>> Marina Vatkina wrote:
>>> I think the spec is confusing in this area...
>>>
>>> A. The paragraph just above the one marked with XXX reads:
>>>
>>> "This specification requires that the ejbRemove, ejbActivate, and
>>> ejbPassivate methods of the SessionBean interface, and the ejbCreate
>>> method of a stateless session bean be treated as PreDestroy,
>>> PostActivate, PrePassivate and PostConstruct life cycle callback
>>> interceptor methods, respectively."
>> I can add "These callback methods must be implemented on the bean
>> class itself (or on its superclasses)." to either the above par or
>> the par marked with XXX that was the starting point of this discussion.
>>
>>
>>
>> B. And while we are looking at the ejbXXX methods and interceptors,
>> let's also look at the following compatibility note under section
>> 4.9.3 "Lifecycle Callback Interceptor Methods":
>>
>>
>> "If the PostConstruct lifecycle callback interceptor method is the
>> ejbCreate method, if the PreDestroy lifecycle callback interceptor
>> method is the ejbRemove method, if the PostActivate lifecycle
>> callback interceptor method is the ejbActivate method, or if the
>> PrePassivate lifecycle callback interceptor method is the
>> ejbPassivate method, these callback methods must be implemented on
>> the bean class itself (or on its superclasses)."
>>
>> Should the above be reworded to say the same as the 4.3.5 section or
>> does it mean to say something different?
>>
>> thanks,
>> -marina
>>
>>> On 9/7/2011 4:27 AM, Carlo de Wolf wrote:
>>> Why should it be stated clearer?
>>>
>>> The bean class implementing the SessionBean interface or not is
>>> completely unrelated to anything defined on the interceptor classes.
>>>
>>> I think it would only complicate understanding to imply such a
>>> relationship.
>>>
>>> Carlo
>>>
>>> On 09/07/2011 03:46 AM, Marina Vatkina wrote:
>>>> Experts,
>>>>
>>>> Please advise on the following clarification request marked as XXX
>>>> under section 4.3.5 The SessionBean Interface
>>>>
>>>> Q Would interceptor classes apply as well? If yes, how it should be
>>>> stated?
>>>>
>>>> "If the session bean implements the SessionBean interface, the
>>>> PreDestroy annotation on the bean class can only be applied to the
>>>> ejbRemove method; the PostActivate annotation can only be applied to
>>>> the ejbActivate method; the PrePassivate annotation can only be
>>>> applied to the ejbPassivate method. Similar requirements apply to use
>>>> of deployment descriptor metadata as an alternative to the use of
>>>> annotations. "
>>>>
>>>> thanks,
>>>> -marina
>>>
>>
>>
>> -----
>> No virus found in this message.
>> Checked by AVG - www.avg.com
>> Version: 10.0.1392 / Virus Database: 1520/3883 - Release Date: 09/07/11
>>
>>
>>
>