----- Original Message ----- From: "Johnny Kewl" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Sunday, October 05, 2008 5:40 AM
Subject: Re: adding servlet definition to context on the fly :Tomcat 5.5



----- Original Message ----- From: "Martin Gainty" <[EMAIL PROTECTED]>
To: "Tomcat Users List" <users@tomcat.apache.org>
Sent: Saturday, October 04, 2008 11:39 PM
Subject: RE: adding servlet definition to context on the fly :Tomcat 5.5



doctor john

to followup with the addChild method and if an exception is thrown and you determine your container doesnt support child containers..what then?

your diagnosis doctor..

Martin
---------------------------------------
I dont know the history... too young to remember TC 4 ;)
He probably lost his call when filters or something like that was introduced... but heres the coders explanation, perhaps it makes sense to you...
I just looked at what he was calling before... and its gone ;)
addChild is still functional in container... but in wrapper its an exception... some history here somewhere... risk one takes if they work outside the intended API... unless that is in the servlet spec... doubt it...

/**
* A <b>Wrapper</b> is a Container that represents an individual servlet
* definition from the deployment descriptor of the web application.  It
* provides a convenient mechanism to use Interceptors that see every single
* request to the servlet represented by this definition.
* <p>
* Implementations of Wrapper are responsible for managing the servlet life
* cycle for their underlying servlet class, including calling init() and
* destroy() at appropriate times, as well as respecting the existence of
* the SingleThreadModel declaration on the servlet class itself.
* <p>
* The parent Container attached to a Wrapper will generally be an
* implementation of Context, representing the servlet context (and
* therefore the web application) within which this servlet executes.
* <p>
* Child Containers are not allowed on Wrapper implementations, so the
* <code>addChild()</code> method should throw an
* <code>IllegalArgumentException</code>.
*
* @author Craig R. McClanahan
* @version $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $
*/

--------------------.

A little more homework... would actuall be much easier if we saw the code... but the only thing that I can find in TC that is doing more or less what he "may" be doing is in the invoker servlet...

looks like this....
                   wrapper = context.createWrapper();
                   wrapper.setName(name);
                   wrapper.setLoadOnStartup(1);
                   wrapper.setServletClass(servletClass);
                   context.addChild(wrapper);
                   context.addServletMapping(pattern, name);

So if is calling  addChild on StandardWrapper... he has no chance..
If his calls look something like the above... then its possible that invoker servlet is active on TC 4 and its not on TC 5...
Possibly he has to turn on invoker servlet?

In either case... its open heart surgery that I dont even see in embedded TC....

Ram if you dont come right... post your code can we can see for sure what you doing... we as curious as hell ;)

---------------------------------------------------------------------------
HARBOR : http://www.kewlstuff.co.za/index.htm
The most powerful application server on earth.
The only real POJO Application Server.
See it in Action : http://www.kewlstuff.co.za/cd_tut_swf/whatisejb1.htm
---------------------------------------------------------------------------

---------------------------------------------------------------------
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