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>