1.5. Hot-deployment of services in JBoss

Hot-deployable services are those which can be added to or removed from the running server. These are placed in the $JBOSS_HOME/jboss-as-web/server/$PROFILE/deploy directory. Let’s have a look at a practical example of hot-deployment of services in JBoss.
Start JBoss if it isn’t already running and take a look at the server/default/deploy directory. Remove the mail-service.xml file and watch the output from the server:
13:10:05,235 INFO  [MailService] Mail service 'java:/Mail' removed from JNDI
Then replace the file and watch JBoss re-install the service:
13:58:54,331 INFO  [MailService] Mail Service bound to java:/Mail
This is hot-deployment in action.

1.5.1. Hot-deployment configurations

Hot deployment of services in the server is controlled by the HDScanner MC bean configured in $JBOSS_HOME/jboss-as-web/server/$PROFILE/deploy/hdscanner-jboss-beans.xml file. For the default server configuration the scanPeriod is set to 5 seconds:
<bean name="HDScanner" class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
   <property name="deployer"><inject bean="ProfileServiceDeployer"/></property>
   <property name="profileService"><inject bean="ProfileService"/></property>
   <property name="scanPeriod">5000</property>
   <property name="scanThreadName">HDScanner</property>
</bean>
The scanPeriod attribute controls the interval for thread which picks up the hot deployable changes.

Note

The changes to the hdscanner-jboss-beans.xml file itself are hot deployable. No server restart is needed.