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.