Chapter 6. Hot Deployment of Services

Hot-deployable services are services which can be added to or removed from the running server. Such services are placed in the JBOSS_DIST/jboss-as/server/<instance-name >/deploy directory. Let’s have a look at a practical example of hot deployment of services.
Make sure EAP is running and change to the JBOSS_DIST/jboss-as/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
You have just undeployed the mail service during server runtime: this is hot-deployment in action.

6.1. Hot-Deployment Configuration

Hot deployment of services in the server is controlled by the HDScanner MC bean configured in <JBOSS_HOME>/jboss-as/server/<PROFILE>/deploy/hdscanner-jboss-beans.xml file. For example, the bean sets the scanPeriod attribute, which controls the run interval for the thread that picks up the hot deployable changes. The scanPeriod property is set to 5 seconds by default (refer to Figure 6.1, “HDScanner Bean Default Configuration”).
<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>

Figure 6.1. HDScanner Bean Default Configuration

Note

Changes to the hdscanner-jboss-beans.xml file are hot deployable: no server restart is needed.