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: Wed, 07 Sep 2011 15:42:13 -0700

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
>
>