jsr345-experts@ejb-spec.java.net

[jsr345-experts] Re: Order of _at_PreDestroy method calls?

From: Florent BENOIT <Florent.Benoit_at_ow2.org>
Date: Thu, 08 Sep 2011 09:09:03 +0200

As said Reza, I don't think that it was discussed on the EJB 3.1 EG
But I think that reverse order should be applied and this shouldn't
break code

Florent

On 09/07/2011 03:09 AM, Marina Vatkina wrote:
> Dear Experts,
>
> (Back from vacation and catching up)
>
> So far I got two (unfortunately) opposite replies. Let's try one more
> time... May be some of you who was on the EG that discussed the
> original proposal, have any recollection (or any saved emails) of what
> and why had been decided?
>
> thanks,
> -marina
>
> Marina Vatkina wrote:
>> Bill Shannon asked me to get the EJB EG opinion on this subject. Had
>> this been discussed in 3.1 EG?
>>
>> thanks,
>> -marina
>>
>>
>> On 5/16/2011 2:05 PM, Bill Shannon wrote:
>>> Section EE.5.2.5 of the EE 6 platform spec (page 70) says that both
>>> @PostConstruct and @PreDestroy methods are called in class hierarchy
>>> order, with superclass methods called before subclass methods. This
>>> makes sense for @PostConstruct, but for @PreDestroy it seems like it
>>> would make more sense to call them in reverse order, so that the
>>> subclass would be done using any resources of the superclass before
>>> the superclass freed them.
>>>
>>> Can anyone think of any reason that @PreDestroy should be called in
>>> the same order as @PostConstruct?
>>>
>>> If we decided the currently specified behavior is wrong, I'm worried
>>> about the compatibility impact of changing it. What do *you* think
>>> the compatibility impact would be? How many programs would break?