title: Tomcat Hot Deploy to instance hosting several applications
body: <p>My question is about deployment to a Tomcat server instance which hosts multiple applications and hosts application contexts for Struts, Spring, and Hibernate. I would like to deploy changes to one application without restarting my Tomcat server.</p>
  
  <p>As an example, many times in our firm we have to deploy new applications or versions of applications to our tomcat enviroment and the process could be: </p>
  
  <ul>
  <li>Move class and jsp to the exploded folder then the context reload itself, or </li>
  <li>Another scenario is when we have to deploy new features which require
  modifications to xml contexts such as <code>struts-config.xml</code> or <code>spring-application-context.xml</code>.</li>
  </ul>
  
  <p>Currently we have to restart the web-server to load new configuration. This would be OK if Tomcat did not have other live applications which we did not want to interrupt and restart. As an example, if I have an application which uses hibernate and struts, then I have to re-deploy it to a Tomcat server with many other applications running, and I deploy the new application and restart the server. This is not ideal.</p>
  
  <p><strong>So the question is when deploying changes to Tomcat, including context changes, do I have to restart?</strong> Is there a way to do a hot deploy for only this specific application and maybe re-start only its context without restarting the webserver?</p>
  
  <p>Thanks a lot!!
  Best regards</p>