![]() |
Clear Tomcat Classloader cache?
Hi.
As fas as I know, the classloader of the tomcat server caches all classes, which has been requested once, in the ram. Further request do not read the file from disk, they are using the information in the ram. We want to clear this cache or force the classloader, do read the class-files (and any other ressource files) once again from disk, without rebooting the server or restarting the webapp. Is this possible? Thanks for help. Thomas Konrath |
Re: Clear Tomcat Classloader cache?
tkonrath@gmx.at wrote:
> > We want to clear this cache or force the classloader, do read the > class-files (and any other ressource files) once again from disk, > without rebooting the server or restarting the webapp. That's effectively what restarting the webapp does. What are you trying to achieve that is different? Tom Hawtin |
Re: Clear Tomcat Classloader cache?
That's not just the Tomcat classloader, that's *any* classloader. The only way to achieve what you want is to use a new classloader. And the only way to achieve that in Tomcat AFAIK is to restart the webapp. |
Re: Clear Tomcat Classloader cache?
On 4 abr, 04:44, tkonr...@gmx.at wrote:
> Hi. > > As fas as I know, the classloader of the tomcat server caches all > classes, which has been requested once, in the ram. Further request do > not read the file from disk, they are using the information in the > ram. > > We want to clear this cache or force the classloader, do read the > class-files (and any other ressource files) once again from disk, > without rebooting the server or restarting the webapp. > > Is this possible? > > Thanks for help. > > Thomas Konrath I think what you meant to do is to reload the context of your application after your classes have been updated. To do so, go to Tomcat Manager and restart your context. Beaware that the classes stay in the Permanent Generation so they will eventually fill up the Permanent generation Heap space, which means that you will eventually have to restart Tomcat or you will run out of memory. Cheng |
Re: Clear Tomcat Classloader cache?
On Apr 30, 4:36 am, Cheng Wei Lee <cheng....@gmail.com> wrote:
> On 4 abr, 04:44, tkonr...@gmx.at wrote: > > > > > Hi. > > > As fas as I know, the classloader of the tomcat server caches all > > classes, which has been requested once, in the ram. Further request do > > not read the file from disk, they are using the information in the > > ram. > > > We want to clear this cache or force the classloader, do read the > > class-files (and any other ressource files) once again from disk, > > without rebooting the server or restarting the webapp. > > > Is this possible? > > > Thanks for help. > > > Thomas Konrath > > I think what you meant to do is to reload the context of your > application after your classes have been updated. To do so, go to > Tomcat Manager and restart your context. Beaware that the classes stay > in the Permanent Generation so they will eventually fill up the > Permanent generation Heap space, which means that you will eventually > have to restart Tomcat or you will run out of memory. > > Cheng Hi. Thanks for your replies. The background of my question was just do be able to replace class- files or other ressource files while tomcat is sill running and all user sessions keep alive. Restarting the webapp has two negative aspects: 1) all user sessions would be lost and 2) as you mentioned, tomcat will run out of memory. So we have to think of another way to solve our problem. Thanks for help Thomas |
| All times are GMT. The time now is 08:41 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.