Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
servicemix/
 bin/   
  servicemix       # shell scripts to boot up SMX 
  servicemix.bat 
  wrapper/         # Java Service Wrapper binaries
 
 system/           # the system defined OSGi bundles (i.e. the stuff shipped in the distro) which generally shouldn't be edited by users

 deploy/           # where bundles should be put to be hot-deployed - in jar or expanded format (the latter is good to let folks edit spring.xml files etc)
     

 conf/             # some config files for describing which OSGi container to use; also a text file to be able to describe the maven repos & mvn bundles to deploy

 data/             # directory used to store transient data (logs, activemq journal, transaction log, embedded DB, generated bundles)
  logs/
  generated-bundles/
  activemq/

Hot Deployment

To hot-deploy any OSGi bundles, just drop them into the deploy/ directory. Currently the hot deployment supports

  • OSGi bundles (*.jar)
  • OSGi configuration files (*.cfg)
  • expanded OSGi bundles (so that the contents can be edited directly forcing a reload).

Expanded OSGi bundles

The idea behind expanded OSGi bundles is that you can create an OSGi bundle using directories (rather than a jar) so that you can edit the Spring XML files or other configuration files or Java code in development mode. Then when you change the code, the ServiceMix Runtime will auto-detect this change, stop the previous bundle and redeploy your bundle.

This is great for working with Spring XML files or Camel Routes in a RAD way; so you can edit things in your IDE and the ServiceMix Runtime will automatically redeploy them.