SmartFrog 3.11.007beta

This is a new release of SmartFrog, the Java-based, LPGL-licensed distributed deployment framework developed by HP Laboratories. SmartFrog enables applications to be deployed across multiple machines, configuring different aspects of the system so that they are all consistently configured, and managing the life-cycle of the application as a whole. The project's home page is

The release artifacts are available at Sourceforge

This release is 3.11.007beta; built from revision 4969 of the SVN repository. This release has an extended language with the ability to tag attributes, and includes the following items:

For Java 1.5 systems, there are some extra components:

This release is the last ever release that will support Java1.4. We have long built and tested on both Java 5 and Java 6; Java 5 has a better concurrency model while Java 6 has fixed some long-standing RMI problems. After this release, the team will make use of Java 5 language features and classes in the Java 1.5 runtime, which will prevent it from building or running on Java 1.4 systems.


This release is available as:

  1. RPM files inside a .tar.gz file.
  2. a JAR installer.
  3. the original core smartfrog distribution as .zip and .tar.gz (deprecated)

The RPM installation is for RPM-based Linux systems. It comprises three RPM files, smartfrog, smartfrog-daemon and smartfrog-demo:

smartfrog The core SmartFrog distribution.
smartfrog-daemon The shell scripts to add the smartfrog distribution to the path, and to run the daemon on start-up.
smartfrog-demo Example code and documentation
smartfrog-anubis Anubis partition-aware "tuple space"
smartfrog-logging Enhanced logging

All the JAR files are also published to a repository that is compatible with Apache Maven and Ivy. Add to your repository list to pull SmartFrog artifacts into your Ivy- or Maven- based build.

There are also SmartFrog components to retrieve artifacts from such a repository (the Library components under /org/smartfrog/services/os/java/library.sf ), which can be used for dynamic download of SmartFrog and other artifacts.

Security warning

Unless SmartFrog is configured with security, a running daemon will listen on its configured port for incoming deployment requests, and deploy the applications with the rights of the user running the daemon. When the smartfrog-daemon RPM is installed, that means that a process running as root will be listening on an open port for incoming deployment requests. Do not deploy SmartFrog this way on any untrusted network, not without turning security on and, ideally, recreating the RPMs with signed JAR files.

Building SmartFrog

SmartFrog requires Java 1.4 and Ant 1.7 to build. For a complete release, Java1.5 or later is required.

The distribution does not include a source tree adequate to build the entire system. Please follow the instructions at and check out smartfrog/trunk/core from our repository.

This release was built with revision 4969 of the repository, which is available under the SVN branch

We strongly encourage anyone interested in building or extending smartfrog to get involved in the smartfrog developer mailing list, which can be found from the sourceforge project page

Reporting Bugs

Please file all bug reports at

The SmartFrog Team

Changes since last release

Since the 3.11.005beta, there have been changes to some of the components. In particular, the www component now has a tomcat deployment descriptor that can deploy Apache Tomcat5.5,


This is accompanied by one for JBoss 4.0:


These deployment descriptors are passing our tests of deploy-by-copy deployment of a test WAR.

The language has been enhanced with the OPTIONAL keyword, which allows one to define a value to use if the remote reference does not resolve. To use an example from the jboss tests, here is a binding of jboss.port either to the property test.jboss.port (in the process parsing the .sf file, not the destination daemon), and falling back to the value 8080 if it does not resolve:

  jboss.port OPTIONAL(8080) PROPERTY test.jboss.port;

Consult the reference documentation for more details on this.

Release Notes - SmartFrog - Version 3.11.007beta



New Feature