You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Aviv Eliezer <ae...@aquanet.co.il> on 2002/09/18 09:59:02 UTC

Reloading application with tomcat 4.x manager

Hi guys,
When I'm using Tomcat Manager app to reload a webapp, I have a problem:
I use a ContextListener to do some application initialization and to put in
the ServletContext some objects.
When using reload, for some reason the servletContext I receive from the
destroy() event is different (?!?) from the ServletContext I received in the
init() event- thus I can't clean the resources the app used.
I never get these problems when I shutdown Tomcat- in which case I get the
same ServletContext from the init() and destroy() events. Is that a bug in
the Manager app?
Note that I don't have any other webapp installed, just one (so there's no
chance of confusing ServletContext of different webapps).
Anyone has an idea?

-----Original Message-----
From: Siddharth [mailto:siddharth@pun.cmc.net.in]
Sent: Wednesday, September 18, 2002 7:30 AM
To: Tomcat Users List
Subject: Re: Caching / Cloning


Neal,
I have never worked with XSLT but I can show you the way where you can have
an
initial copy of ServletContext which you can use independently.
Interface ServletContext has a mathod called
getContext(java.lang.String uripath)  returns  ServletContext
You can use this method by giving uripath of same application to get a copy
of cache.

I hope, This suggestion may help you.
Siddharth


----- Original Message -----
From: neal <ne...@yahoo.com>
To: Tomcat Users List <to...@jakarta.apache.org>
Sent: Wednesday, September 18, 2002 9:52 AM
Subject: Caching / Cloning


> Is there a way to make a copy of what's in my cache (getServletContext())
> and make changes to that local copy, independent of whether the cached
> object implements Cloneable()?
>
>
> In order to speed up my XSLT I thought I would preload them (their
> Transformer objects) into app scope and simply retrieve it as needed for
> transforms.
>
> This works fine except I just remembered that I need to set attributes on
> these XsLT Transformer objects.  Now, I am PRESUMING that this means that
I
> would then be locking up the servlet context each time I set one of these
> parameters so then it seems I should clone() the object locally.  That way
I
> could set the params locally without affecting (or locking) the cached
> version).  BUT Transfomer does not appear to implement the Cloneable()
> interface.
>
> Is there a way around this?  Am I by any chance wrong about what's
actually
> happening here?   Can anyone make a suggestion?
>
> Here's what I'm doing basically:
>
> ServletContext application = getServletContext();
> application.setAttribute("TEMPLATES_HASH",templates);
> (where templates is a Hashtable containing Transformer objects)
>
>
> Thanks.
> Neal
>
>
> --
> To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
> For additional commands, e-mail:
<ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>