JBossESBHotDeployment

JBossESB Hot (Re)Deployment

 

-


Server mode

JBossAS as well as the JBossESB-Server are always checking the 'deploy' directory for new files to deploy. So we're really talking about hot redeployment.

So here is what you have to do to make it redeploy an existing deployment for the different components.

 

1. sar files

The jbossesb.sar is hot deployable. It will redeploy when

  • the timestamp of the archive changes, if the sar is compressed archive.

  • the timestamp of the META-INF/jboss-service.xml changes, if the sar is in exploded from.

 

2. esb files

Any .esb archive will redeploy when

  • the timestamp of the archive changes, if the sar is compressed archive.

  • the timestamp of the META-INF/jboss-esb.xml changes, if the esb is in exploded from.

Our actions have lifecycle support, so upon hot deployment it goes down gracefully, finishes active requests, and does not accept any more incoming messages until it is back up. All of this can be done by simply redeploying the .esb archive. If you want to update just one action, you can use groovy scripting to modify an action at runtime (see the groovy QuickStart).

 

3. rule files

There are two options to refresh rule files (drl or dsl)

  • redeploy the jbrules.esb (see 2)

  • turn on the 'ruleReload' in the action config (see JBossESBContentBasedRouting). Now if a rule file changes it will be reloaded.

 

4. transformation files

There are two options to refresh transformation files

  • redeploy the esb archive in which the transformation file resides.

  • send out a notification message over JMS(topic) using the esb-console. The Smooks processors will receive this event and reload.

 

5. Business Process Definitions

When using jBPM new Business Process Definitions can be deployed. From within the jBBPM eclipse plugin you can deploy a new definition to the jbpm database. New process instances will get the new version, in flight processes will finish their life cycle on the previous definitions. For details please see the documentation on jBPM.

 

Standalone (bootstrap) mode.

The bootstrapper does not deploy esb archives. You can only have one jboss-esb.xml configuration file per node. I will monitor the timestamp on this file and it will reread the configuration if a change occurs. To updates rules you will have to use the 'ruleReload', to update transformation you need to send out a Smooks JMS notification using the esb-console. And finally to update BPDs you can follow the same process mentioned above.