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: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]