We want to deploy a new version of an EJB, the thing is that several EJB's and WAR's depend on that EJB. So we have to restart the server everytime to ensure every EJB/WAR is up and working properly.

The main difficulty here its the great number of dependencies, so its too much work to enable/disable every application all the time we deploy a newer version of an EJB with several dependents, restarting the server is faster and safer for us.

We are trying to figure out how to avoid the downtime of our environment. We need to be online all the time, and to achieve that restarting the server is not a viable solution.

We are using JBoss EAP 6.3.

Which could be a good approach to apply on these cases?


Radoslav Husar explain in this discussion how to solve deployments in production environments with minimal downtime.

The way to do this on standalone JBoss/WildFly is to:

  1. start a new AS node, deploy new version of the application
  2. go to mod_cluster manager console, disable the context with the old version
  3. drain all sessions from the old version of the application
  4. remove the old instance

If you already running in HA mode and the session data is compatible through new and old version of the application:

  1. drain sessions from 1st cluster node
  2. upgrade application, bring node back
  3. repeat for all servers

If you are running HA mode but the session data is incompatible:

  1. same as above, with the exception that the servers are being added back to different cluster with a different load-balancing-group so that session data doesn't clash.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.