title: Different Versions of an application in same java application server
body: <p>We are utilizing citrix netscalar with more than 20 glassfish java application servers. Unfortunately we have to remove previous application before deploying a new version of it since we have same context for these two different application. This error-prone process leads some problems due to lack of attention in builds or other problems. In an urgent case, we simply want to redirect to all traffic to previous application.</p>
  
  <p>What is the best practice to run different version of an application in a substantial number of servers in same time? </p>
  
  <p>Edit: Another concise and prevailing example which came to my mind is Google Application Engine. In GAE you can deploy different versions as much you want. However traffic can be redirected to smoothly different application at runtime. </p>
  
  <p>Thanks </p>