# Codehaus Cargo : JOnAS 4.x

Created by Former user, last modified by S. Ali Tokmen on Jul 08, 2026

This page has been automatically generated by Cargo's build. Do not edit it directly as it'll be overwritten next time it's generated again.

Due to license conflicts, Codehaus Cargo versions 1.7.6 onwards do not contain the JOnAS Configurator in the Uberjar. If you plan to use the Codehaus Cargo JOnAS containers via Java API or ANT tasks, please download the JOnAS Configurator JARs separately and put them in your classpath.

This does not affect the Maven 3 plugin, as it will download the required dependencies automatically (and, since Maven downloads and stores the JOnAS Configurator JARs separately from Codehaus Cargo you won't run into license issues).

### Container Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Container Instantiation | `ContainerFactory.createContainer("jonas4x"...)` | `<cargo containerId="jonas4x".../>` | `<containerId>jonas4x</containerId>` |
Local Container |  |  |  |
Container Classpath |  |  |  |
Container Start |  |  |  |
Container Stop |  |  |  |
Container Timeout |  |  |  |
Embedded Container |  |  |  |
Installed Container | `o.c.c.c.jonas.Jonas4xInstalledLocalContainer` |  |  |
Passing system properties |  |  |  |
Installer |  |  |  |
Remote Container | `o.c.c.c.jonas.Jonas4xRemoteContainer` |  |  |

### Configuration Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Standalone Local Configuration for installed container | `o.c.c.c.jonas.Jonas4xStandaloneLocalConfiguration` |  |  |
Standalone Local Configuration for embedded container |  |  |  |
Existing Local Configuration for installed container | `o.c.c.c.jonas.Jonas4xExistingLocalConfiguration` |  |  |
Existing Local Configuration for embedded container |  |  |  |
Runtime Configuration | `o.c.c.c.jonas.Jonas4xRuntimeConfiguration` |  |  |
Static deployment of WAR |  |  |  |
Static deployment of expanded WAR |  |  |  |
Static deployment of EJB |  |  |  |
Static deployment of EAR |  |  |  |
Static deployment of RAR |  |  |  |
Static deployment of files |  |  |  |
Static deployment of OSGi Bundles |  |  |  |

### Deployer Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Installed Deployer | `o.c.c.c.jonas.Jonas4xInstalledLocalDeployer` |  |  |
Embedded Deployer |  |  |  |
Remote Deployer | `o.c.c.c.jonas.Jonas4xJsr160RemoteDeployer` |  |  |

### Other Features

Feature name | Java API | Ant tasks | Maven 3 plugin | Comment
--- | --- | --- | --- | ---
Debugging |  |  |  |

### Supported Configuration properties

The tables below list both the general configuration properties as well as the container-specific ones.

#### Standalone Local Configuration Properties

##### For installed container o.c.c.c.jonas.Jonas4xInstalledLocalContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.java.home | GeneralPropertySet.JAVA_HOME |  | JAVA_HOME version 4 or newer Due to incompatibilities with its JSP environment, JOnAS 4.x doesn't run on Java 8 and above |
cargo.jonas.domain.name | JonasPropertySet.JONAS_DOMAIN_NAME |  | `jonas` |
cargo.jonas.jms.port | JonasPropertySet.JONAS_JMS_PORT |  | `16010` |
cargo.jonas.server.name | JonasPropertySet.JONAS_SERVER_NAME |  | `jonas` |
cargo.jonas.services.list | JonasPropertySet.JONAS_SERVICES_LIST |  | Will be loaded from the `conf/jonas.properties` file in the container home directory |
cargo.jvmargs | GeneralPropertySet.JVMARGS |  | N/A |
cargo.logging | GeneralPropertySet.LOGGING |  | `medium` |
cargo.port.offset | GeneralPropertySet.PORT_OFFSET |  | `0` |
cargo.process.spawn | GeneralPropertySet.SPAWN_PROCESS |  | `false` |
cargo.remote.password | RemotePropertySet.PASSWORD |  | N/A |
cargo.remote.username | RemotePropertySet.USERNAME |  | N/A |
cargo.rmi.port | GeneralPropertySet.RMI_PORT |  | `1099` |
cargo.runtime.args | GeneralPropertySet.RUNTIME_ARGS |  | N/A |
cargo.servlet.port | ServletPropertySet.PORT |  | `9000` |
cargo.servlet.users | ServletPropertySet.USERS |  | N/A |
cargo.standalone.ignoreNonExistingProperties | GeneralPropertySet.IGNORE_NON_EXISTING_PROPERTIES |  | N/A |
cargo.start.jvmargs | GeneralPropertySet.START_JVMARGS |  | N/A |

Datasource and Resource configuration

In addition to the forementioned properties, this container configuration can also set up datasources and/or resources.

For more details, please read: DataSource and Resource Support.

In addition to the forementioned properties, you can set any JOnAS configuration property that's configurable via the JOnAS configurator using the `cargo.jonas.configurator` prefix. For example, to set the Tomcat AJP port, use the the property `cargo.jonas.configurator.ajpPort` and give the value you like.

As the JOnAS base ANT tasks, used by the configurator, make explicit use of the `java.endorsed.dirs` property which got removed with Java 9, it is no more possible to create any JOnAS configurations with newer versions of Java. You will get errors similar to the below:

    [JmsRa] Cannot make a resource adaptor on RAConfig:
        [...]
    Caused by: Java returned: 1
        at org.apache.tools.ant.taskdefs.Java.execute(Java.java:113)
        at org.ow2.jonas.antmodular.jonasbase.jms.JmsRa.execute(JmsRa.java:222)

#### Existing Local Configuration Properties

##### For installed container o.c.c.c.jonas.Jonas4xInstalledLocalContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.java.home | GeneralPropertySet.JAVA_HOME |  | JAVA_HOME version 4 or newer Due to incompatibilities with its JSP environment, JOnAS 4.x doesn't run on Java 8 and above |
cargo.jonas.domain.name | JonasPropertySet.JONAS_DOMAIN_NAME |  | `jonas` |
cargo.jonas.server.name | JonasPropertySet.JONAS_SERVER_NAME |  | `jonas` |
cargo.jvmargs | GeneralPropertySet.JVMARGS |  | N/A |
cargo.port.offset | GeneralPropertySet.PORT_OFFSET |  | `0` |
cargo.process.spawn | GeneralPropertySet.SPAWN_PROCESS |  | `false` |
cargo.remote.password | RemotePropertySet.PASSWORD |  | N/A |
cargo.remote.username | RemotePropertySet.USERNAME |  | N/A |
cargo.rmi.port | GeneralPropertySet.RMI_PORT |  | `1099` |
cargo.runtime.args | GeneralPropertySet.RUNTIME_ARGS |  | N/A |
cargo.servlet.port | ServletPropertySet.PORT |  | `9000` |
cargo.start.jvmargs | GeneralPropertySet.START_JVMARGS |  | N/A |

#### Runtime Configuration Properties

##### For remote container o.c.c.c.jonas.Jonas4xRemoteContainer

Property name | Java Property | Supported? | Default value | Javadoc
--- | --- | --- | --- | ---
cargo.hostname | GeneralPropertySet.HOSTNAME |  | `localhost` |
cargo.jonas.cluster.name | JonasPropertySet.JONAS_CLUSTER_NAME |  | N/A |
cargo.jonas.deployable.identifier | JonasPropertySet.JONAS_DEPLOYABLE_IDENTIFIER |  | N/A |
cargo.jonas.domain.name | JonasPropertySet.JONAS_DOMAIN_NAME |  | `jonas` |
cargo.jonas.jndi.initial.context.factory | JonasPropertySet.JONAS_MEJB_JNDI_INIT_CTX_FACT |  | N/A |
cargo.jonas.jndi.mejb.path | JonasPropertySet.JONAS_MEJB_JNDI_PATH |  | N/A |
cargo.jonas.mejb.jaas.entry | JonasPropertySet.JONAS_MEJB_JAAS_ENTRY |  | N/A |
cargo.jonas.mejb.jaas.file | JonasPropertySet.JONAS_MEJB_JAAS_FILE |  | N/A |
cargo.jonas.server.name | JonasPropertySet.JONAS_SERVER_NAME |  | `jonas` |
cargo.remote.password | RemotePropertySet.PASSWORD |  | N/A |
cargo.remote.uri | RemotePropertySet.URI |  | N/A |
cargo.remote.username | RemotePropertySet.USERNAME |  | N/A |
cargo.rmi.port | GeneralPropertySet.RMI_PORT |  | `1099` |

### Tested On

This container is automatically tested by the Continous Integration (CI) system every time there is a code change.
The server used for tests is downloaded from: https://dllegacy.ow2.org/jonas/jonas4.10.9-tomcat5.5.28.tgz