You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

ServiceMix Runtime

At the core of ServiceMix 4.x is the small and lightweight OSGi based runtime. This provides a small lightweight container onto which various bundles can be deployed.

The directory layout of the ServiceMix Runtime is as follows

servicemix/
 bin/   
  servicemix.sh    # 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)
     
 etc/              # 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.

Console

The runtime comes with a shell console that you can use to launch several commands. For a list of available commands, just run help.

Provisioning through OBR

In addition to the deploy/ folder, you can use OBR (OSGi Bundle Repository) through the shell console to deploy additional bundles.
See OBR for more informations.

Download

You can grab a download of the minimum ServiceMix 4 Runtime here.

You can then use OBR to install new bundles via typing this into the console...

obr/start org.apache.servicemix.bundles.jaxb-impl camel-spring camel-example-osgi
  • No labels