According to head first, there can be any number of classes implementing a listener, and they are called in the order as declared in the DD. But what happens when the application is shutting down? Are they called in the same order or reverse order?
I read somewhere that they are called in the reverse order, but this does not make sense to me. Can someone please explain.
It is just mandated by the specs, nothing really to explain :
SRV.10.3.3 Listener Registration TheWeb container creates an instance of each listener class and registers it for event
notifications prior to the processing of the first request by the application. The Web
container registers the listener instances according to the interfaces they implement
and the order in which they appear in the deployment descriptor. During Web
application execution, listeners are invoked in the order of their registration.
SRV.10.3.4 Notifications At Shutdown On application shutdown, listeners are notified in reverse order to their declarations
with notifications to session listeners preceeding notifications to context listeners.
Session listeners must be notified of session invalidations prior to context listeners
being notified of application shutdown.
The moustache of a titan! The ad of a flea:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop