tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Gainty" <>
Subject Re: How to inject a webapp listener?
Date Sun, 01 Jul 2007 20:00:58 GMT
I would suggest spring ..but springs injected entities are *usually* 
classical pojos such as DBDrivers

Here is a project which shows great promise of injecting whole listeners 
which may be of help for your effort


This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.

----- Original Message ----- 
From: "Juha Laiho" <>
To: <>
Sent: Sunday, July 01, 2007 5:21 AM
Subject: How to inject a webapp listener?

> Hello,
> I would like to have the Tomcat container to inject a specific
> ServletContextListener to each loaded webapp on my server - without
> touching the individual web.xml files, and am looking for advise on
> how to achieve this.
> In other words, I'd like to have the container act as if there was
> <listener>
>  <listener-class>MyListenerClass</listener-class>
> </listener>
> section in the web.xml file for each application?
> Currently, I have added a ContainerListener on my Host, which
> is listening on ADD_CHILD messages to discover newly added
> StandardContext instances, and performs the following on each
> new StandardContext (where ctx is a reference to the added context):
>  Object[] listeners = ctx.getApplicationLifecycleListeners();
>  Object[] newListeners = new Object[listeners.length+1];
>  System.arraycopy(listeners,0,newListeners,0,listeners.length);
>  newListeners[newListeners.length-1]=ctxListener;
>  ctx.setApplicationLifecycleListeners(newListeners);
> With this, my listener is already able to capture the contextDestroyed
> events from the webapp - but not the contextInitialized. It looks like the
> Context is added to the host only after it has been already initialized.
> What I'm looking for is a way to be able to inject the webapp listener
> in an earlier phase, so that I can also capture the contextInitialized
> messages. Any ideas? Also, if there's an overall better way to inject
> the webapp listener, please let me know -- the above way feels rather
> crude.
> Thanks,
> -- 
> ..Juha
> ---------------------------------------------------------------------
> To start a new topic, e-mail:
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To start a new topic, e-mail:
To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message