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
http://oranjestad.sourceforge.net/spring-oranjestad.html

hyva?
Martin-

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




---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to