Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 617127
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T18:24:04+00:00 2026-05-13T18:24:04+00:00

I have read that it is possible with Tomcat 5.5+ to deploy a war

  • 0

I have read that it is possible with Tomcat 5.5+ to deploy a war to a Tomcat server without a restart. That sounds fantastic but I guess I am too skeptical about this functionality and it’s reliability. My previous experience (with Websphere) was that it was a best practice to restart the server to avoid memory problems, etc. So I wanted to get feedback as to what pitfalls might exist with Tomcat.

(To be clear about my experience, I developed java web apps for 5 years for a large company that partitioned the app developers from the app server engineers – we used Websphere – so I don’t have a lot of experience with running/configuring any app servers myself)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T18:24:04+00:00Added an answer on May 13, 2026 at 6:24 pm

    In general, there are multiple type of leaks and they apply to redeploy-scenarios. For production systems, it’s really the best to perform restarts if possible, as there are so many different components and libraries used in todays applications that it’s very hard to find them all and even harder to fix them. Esp. if you haven’t got access to all source code.

    • Memory leaks
    • Thread and ThreadLocal leaks
    • ClassLoader leaks
    • System resource leaks
    • Connection leaks

    ClassLoader leaks are the ones which bite at redeployment.

    They can be caused by everything. Really, i mean everything:

    • Timers: Timers have Threads and Threads created at runtime inherit the current context class loader, which means the WebappClassloader of Tomcat.
    • ThreadLocals: ThreadLocals are bound to the thread. App servers use Thread pools. When a ThreadLocal is bound to a Thread and the Thread is given back to the pool, the ThreadLocal will stay there if nobody removes() it properly. Happens quite often and very hard to find (ThreadLocals do not have a name, except the rarely used Spring NamedThreadLocal). If the ThreadLocal holds a class loaded by the WebappClassloader, you got a ClassLoader leak.
    • Caches: e.g. EhCache CacheManager
    • Reflection: JavaBeans Introspector (e.g. holding Class or Method caches)
    • JDBC Drivers: they shouldn’t be in the .war file anyway. Leak due to static registry
    • Static libraries which cache ClassLoaders, such as Commons-Logging LogFactory

    Specific to Tomcat, my experience is as follows:

    • For simple apps with “clean” libraries, it works fine in Tomcat
    • Tomcat tries very hard to clean up classes loaded by the WebappClassloader. For example, all static fields of classes are set to null when a webapp is undeployed. This sometimes leads to NullPointerExceptions when code is run while the undeployment is happening, e.g. background jobs using a Logger
    • Tomcat has a Listener which cleans up even more stuff. Its called org.apache.catalina.core.JreMemoryLeakPreventionListener and was submitted recently to Tomcat 6.x

    I wrote a blog post about my experience with leaks when doing redeployment stresstesting – trying to “fix” all possible leaks of an enterprise-grade Java Web Application.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have read that while plug-ins are not supported for SQL Server Management Studio,
I have read that using database keys in a URL is a bad thing
I have read that private variables in a base class are technically inherited by
Apparently I can't move files on different volumes using Directory.Move. I have read that
Everything I have read says that when making a managed stored procedure, to right
I have read a lot that LISP can redefine syntax on the fly, presumably
I have a read query that I execute within a transaction so that I
I have read on Stack Overflow some people that have converting to C#2.0 to
I have read (or perhaps heard from a colleague) that in .NET, TransactionScope can
I have read in some of the ClickOnce posts that ClickOnce does not allow

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.