Passing system properties

Definition

How to pass system properties that will be available to the container while executing

Explanations

It is sometime useful to pass system properties to the container that is executing. These properties are then available to the code executing in the container.

Example using the Java API

Starting Tomcat 3.x with some System properties set in the container JVM:

InstalledLocalContainer container = new Tomcat3xInstalledLocalContainer(
    new TomcatStandaloneLocalConfiguration("target/tomcat3x"));
container.setHome("c:/apps/jakarta-tomcat-3.3.2");

Map props = new HashMap();
props.put("mypropery", "myvalue");
container.setSystemProperties(props);

container.start();

Example using the Ant task

Starting Tomcat 3.x with some System properties set in the container JVM:

<cargo containerId="tomcat3x" home="c:/apps/jakarta-tomcat-3.3.2" action="start">
  <sysproperty key="myproperty" value="myvalue"/>
</cargo>

Loading system properties from a file

It is also possible to load the system properties from a file - simply use the systemPropertiesFile attribute of the cargo XML element.

Example using the Maven 3 plugin

Starting Tomcat 3.x with some System properties set in the container JVM:

<container>
  [...]
  <systemProperties>
    <myproperty>myvalue</myproperty>
  </systemProperties>
</container>