Skip to end of metadata
Go to start of metadata

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

Compare with Current View Page History

« Previous Version 37 Next »

Mission

Cargo provides a Java API to start/stop and configure Java containers

Possible use cases for Cargo:

  • To start containers for integration and functional tests
  • To start containers for applications that require a container to be started (Plugins for IDEs, etc)

Status

Version status (click in the status column to get release notes):

Version

Status

Comments

0.1

(tick)

Released on 11/09/04

0.2

(tick)

Released on 03/10/04

0.3

(error)

In October

As glitches may happen even after a container is released for the first time, e.g. if a new feature is added to the framework, but not supported by all containers, we encourage you to report your success/failures in the Tested on section.

Feature list

  • Provides a Java API to:
    • Start containers
    • Stop containers
    • In-place startup (i.e. ability to start the container in any user-specified directory)
    • Wait for containers to be started, ensuring that the container is fully started after the start call returns
    • Wait for containers to be stopped, ensuring that the container is fully stopped after the start call returns
    • Supports static WAR deployments including support for expanded WARs (directories pointing to a WAR structure)
    • Supports static EAR deployments
    • Configurable container properties
  • Provides Ant tasks that wraps the Java API.
  • Provides a ZipURLInstaller class to automatically download a zipped container distribution from a URL and install it locally
  • Supports the following containers:

Container

Java API/version

Ant API/version

Maven API/version

JBoss 3.x

(error) ???

(error) ???

(error) N/A

Jetty 4.x

(tick) 0.1

(error) ???

(error) N/A

Orion 1.x

(tick) 0.1

(tick) 0.1

(error) N/A

Orion 2.x

(tick) 0.1

(tick) 0.1

(error) N/A

Resin 2.x

(tick) 0.1

(tick) 0.1

(error) N/A

Resin 3.x

(tick) 0.1

(tick) 0.1

(error) N/A

Tomcat 3.x

(tick) 0.1

(tick) 0.1

(error) N/A

Tomcat 4.x

(tick) 0.1

(tick) 0.1

(error) N/A

Tomcat 5.x

(tick) 0.1

(tick) 0.1

(error) N/A

WebLogic 7.x

(error) ???

(error) ???

(error) N/A

WebLogic 8.x

(tick) 0.3

(tick) 0.3

(error) N/A

OC4J 9.x

(tick) 0.3

(tick) 0.3

(error) N/A

In addition the Cargo project also offers a Java API to manipulate J2EE descriptors (currently web.xml and application.xml). Most notably the API allows merging two web.xml files.

Quick Start

The following piece of code demonstrates how to configure Resin 3.0.8 to start in target/resin3x and deploy a WAR located in src/testinput/simple.war. The default port is 8080. Please note that the container.start() and container.stop() methods wait until the container is fully started and fully stopped before continuing. Thus, for any action you are executing after, you are assured the container is completely operational.

WARNING: Do not point the working dir to an existing directory. Everything in this directory will be deleted. This is a dangerous bug in version 0.1 that is fixed in version 0.2

  • No labels