On-Demand Deployment of Web Applications

JBoss AS 6.0.0.M2 includes a new feature: support for on-demand deployment of web applications, where the "demand" is receipt by the embedded JBoss Web service of an HTTP request whose URL maps to the application.

 

The JIRA for this feature is JBAS-7713.

 

The main intent of this feature is to speed startup of the AS in development and test environments by deferring the deployment of the management console applications that ship with the AS. A developer or tester often isn't interested in using the console applications, so waiting for them to deploy during server restarts is a productivity loss. Allowing them to deploy on demand allows the user to still have access to the consoles when desired, but without paying a startup time cost when they aren't needed.

 

We don't recommend starting applications on-demand in a production server. AS 6.0.0.M2 is only a milestone release and certainly isn't intended for production use, but still, 6.0.0.M2 allows you to switch this feature off and fully deploy the consoles as part of startup. Simply add a system property to your startup command to disable this feature:

 

./run.sh -Djboss.as.deployment.ondemand=false

 

Please note that the above configuration mechanism to disable this feature is not finalized; it will likely be changed in a later AS 6 milestone release.

 

The three console applications that are now deployed on demand are the embedded admin console, the JMX console and the JBossWS console.  Implementing this feature has involved moving the WAR folders for these consoles out of the $JBOSS_HOME/server/.../deploy folder and into a new $JBOSS_HOME/common/deploy folder. Note that these consoles are not hot-deployable.

 

For further information on the technical details of this feature, please see the design thread in the forums.