This page last changed on Mar 04, 2006 by vmassol.

Definition

Properties to configure a container (request port, shutdown port, logging level, threads, etc)

Explanations

It is possible to set container configuration properties using the Cargo API. These properties are applied to a Configuration.

Using the Java API you can check if a configuration supports a given property by using {Configuration.getCapability().supportsProperty(String propertyName)}}.

For example if you want to check if the configuration supports setting the port property:

boolean isPropertySupported = configuration.getCapability().supportsProperty(ServletPropertySet.PORT);

There are 2 kinds of properties:

  • General properties
  • Container-specific properties. See each container's page for a list of the custom properties it supports.

General properties:

Property name Java constant to use Description Valid values Default value Example
cargo.hostname GeneralPropertySet.HOSTNAME Host name on which the container listens to string "localhost" "myserver"
cargo.jvmargs GeneralPropertySet.JVMARGS JVM args to be used when starting/stopping containers string N/A "-Xmx500m"
cargo.logging GeneralPropertySet.LOGGING Level representing the quantity of information we wish to log "low", "medium" or "high" "medium" "high"
cargo.protocol GeneralPropertySet.PROTOCOL Protocol on which the container is listening to "http", "https" "http" "http"
cargo.remote.password RemotePropertySet.PASSWORD Password to use to authenticate against a remote container (when deploying for example) string Depends on the container "manager"
cargo.remote.username RemotePropertySet.USERNAME Username to use to authenticate against a remote container (when deploying for example) string Depends on the container "system"
cargo.rmi.port GeneralPropertySet.RMI_PORT The port to use when communicating with this server, for example to start and stop it integer Depends on the container "1099"
cargo.servlet.port ServletPropertySet.PORT Port on which the Servlet/JSP container listens to integer "8080" "8280"
cargo.servlet.users ServletPropertySet.USERS Allow defining users and map to roles string N/A "name1:pwd1:role11,...,role1N|name2:pwd2:role21,...,role2N|..."

Example using the Java API

Starting Tomcat 5.x on port 8081:

Configuration configuration = 
    new Tomcat5xStandaloneLocalConfiguration(new File("target/tomcat5x")));
configuration.setProperty(ServletPropertySet.PORT, "8081");
[...]

Example using the Ant tasks

Starting Tomcat 5.x on port 8081:

<cargo containerId="tomcat5x" home="c:/apps/jakarta-tomcat-5.0.29" action="start">
  <configuration>
    <property name="cargo.servlet.port" value="8081"/>
  </configuration>
</cargo>

Example using the Maven 2 plugin

Starting Tomcat 5.x on port 8081:

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.cargo.maven2</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <configuration>
        <container>
          <containerId>tomcat5x</containerId>
          [...]
        </container>
        <configuration>
          <properties>
            <cargo.servlet.port>8081</cargo.servlet.port>
          </properties>
        </configuration>
        [...]
      </configuration>
    </plugin>
  </plugins>
</build>
Document generated by Confluence on Mar 22, 2006 15:28