jsr345-experts@ejb-spec.java.net

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

From: Stefan Heldt <stefan.heldt_at_holisticon.de>
Date: Thu, 8 Sep 2011 11:18:51 +0200

+1

Von: Jeremy Bauer [mailto:jrbauer_at_us.ibm.com]
Gesendet: Mittwoch, 7. September 2011 17:29
An: marina.vatkina_at_oracle.com
Cc: jsr345-experts_at_ejb-spec.java.net
Betreff: [jsr345-experts] Re: Order of @PreDestroy method calls?

While it seems logically correct to call @PreDestroy in reverse order, my vote is to preserve compatibility. The current behavior is what users coded to expect and changing it could break existing apps.

-Jeremy



From: Marina Vatkina <marina.vatkina_at_oracle.com<mailto:marina.vatkina_at_oracle.com>>
To: jsr345-experts_at_ejb-spec.java.net<mailto:jsr345-experts_at_ejb-spec.java.net>
Date: 09/06/2011 08:16 PM
Subject: [jsr345-experts] Re: Order of @PreDestroy method calls?
________________________________



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?