Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Feature name

Java API

Ant tasks

Maven 2 / Maven 3 plugin

Comment

Container Instantiation

(tick) ContainerFactory.createContainer("tomcat9x"...)

(tick) <cargo containerId="tomcat9x".../>

(tick) <containerId>tomcat9x</containerId>

 

Local Container

(tick)

(tick)

(tick)

 

  Container Classpath

(tick)

(tick)

(tick)

 

  Container Start

(tick)

(tick)

(tick)

 

  Container Stop

(tick)

(tick)

(tick)

 

  Container Timeout

(tick)

(tick)

(tick)

 

  Embedded Container

(tick) o.c.c.c.tomcat.Tomcat9xEmbeddedLocalContainer

(tick)

(tick)

 

  Installed Container

(tick) o.c.c.c.tomcat.Tomcat9xInstalledLocalContainer

(tick)

(tick)

 

   Passing system properties

(tick)

(tick)

(tick)

 

   Installer

(tick)

(tick)

(tick)

 

Remote Container

(tick) o.c.c.c.tomcat.Tomcat9xRemoteContainer

(tick)

(tick)

 

Info
titleRunning multiple Tomcat 7.x / Tomcat 8.x / Tomcat 9.x / Tomcat 10.x embedded containers within the same JVM

Tomcat 7.x has introduced a class called TomcatURLStreamHandlerFactory where the singleton has a static instance field and a final registered attribute which are not always in sync and cause unexpected exceptions. Due to this, it is not possible to execute Tomcat 7.x, Tomcat 8.x, Tomcat 9.x and / or Tomcat 910.x embedded in the same JVM, in addition running one of these Tomcat embedded versions one after the other within the same JVM but different classpaths might also fail.

If you want to be safe, prefer using the Installed Container. Also note that Tomcat 11.x onwards has gotten rid of that class.

Configuration Features

Feature name

Java API

Ant tasks

Maven 2 / Maven 3 plugin

Comment

Standalone Local Configuration for installed container

(tick) o.c.c.c.tomcat.Tomcat9xStandaloneLocalConfiguration

(tick)

(tick)

 

Standalone Local Configuration for embedded container

(tick) o.c.c.c.tomcat.Tomcat9xStandaloneLocalConfiguration

(tick)

(tick)

 

Existing Local Configuration for installed container

(tick) o.c.c.c.tomcat.TomcatExistingLocalConfiguration

(tick)

(tick)

 

Existing Local Configuration for embedded container

(tick) o.c.c.c.tomcat.TomcatExistingLocalConfiguration

(tick)

(tick)

 

Runtime Configuration

(tick) o.c.c.c.tomcat.TomcatRuntimeConfigurationTomcat9xRuntimeConfiguration

(tick)

(tick)

 

Static deployment of WAR

(tick)

(tick)

(tick)

 

Static deployment of expanded WAR

(tick)

(tick)

(tick)

 

Static deployment of EJB

(error)

(error)

(error)

 

Static deployment of EAR

(error)

(error)

(error)

 

Static deployment of RAR

(error)

(error)

(error)

 

Static deployment of files

(error)

(error)

(error)

 

Static deployment of OSGi Bundles

(error)

(error)

(error)

 

...

Feature name

Java API

Ant tasks

Maven 2 / Maven 3 plugin

Comment

Installed Deployer

(tick) o.c.c.c.tomcat.TomcatCopyingInstalledLocalDeployer

(tick)

(tick)

 

Embedded Deployer

(tick) o.c.c.c.tomcat.TomcatEmbeddedLocalDeployer

(tick)

(tick)

 

Remote Deployer

(tick) o.c.c.c.tomcat.Tomcat9xRemoteDeployer

(tick)

(tick)

 

...

Feature name

Java API

Ant tasks

Maven 2 / Maven 3 plugin

Comment

Debugging

(tick)

(tick)

(tick)

 

...

Property name

Java Property

Supported?

Default value

Javadoc

cargo.hostname

GeneralPropertySet.HOSTNAME

(tick)

localhost

(green star)

cargo.java.home

GeneralPropertySet.JAVA_HOME

(tick)

JAVA_HOME version 8 or newer

(green star)

cargo.jvmargs

GeneralPropertySet.JVMARGS

(tick)

N/A

(green star)

cargo.logging

GeneralPropertySet.LOGGING

(tick)

medium

(green star)

cargo.port.offset

GeneralPropertySet.PORT_OFFSET

(tick)

0

(green star)

cargo.process.spawn

GeneralPropertySet.SPAWN_PROCESS

(tick)

false

(green star)

cargo.protocol

GeneralPropertySet.PROTOCOL

(tick)

http

(green star)

cargo.rmi.port

GeneralPropertySet.RMI_PORT

(tick)

8205

(green star)

cargo.runtime.args

GeneralPropertySet.RUNTIME_ARGS

(tick)

N/A

(green star)

cargo.servlet.port

ServletPropertySet.PORT

(tick)

8080

(green star)

cargo.servlet.users

ServletPropertySet.USERS

(tick)

admin::manager-script

(green star)

cargo.standalone.ignoreNonExistingProperties

GeneralPropertySet.IGNORE_NON_EXISTING_PROPERTIES

(tick)

N/A

(green star)

cargo.start.jvmargs

GeneralPropertySet.START_JVMARGS

(tick)

N/A

(green star)

cargo.tomcat.ajp.port

TomcatPropertySet.AJP_PORT

(tick)

8009

(green star)

cargo.tomcat.connector.clientAuth

TomcatPropertySet.CONNECTOR_CLIENT_AUTH

(tick)

N/A

(green star)

cargo.tomcat.connector.keyAliashttpUpgradeProtocol

TomcatPropertySet.CONNECTOR_KEYHTTP_UPGRADE_ALIASPROTOCOL

(tick)

N/A

(green star)

cargo.tomcat.connector.keystoreFilekeyAlias

TomcatPropertySet.CONNECTOR_KEY_STORE_FILEALIAS

(tick)

N/A

(green star)

cargo.tomcat.connector.keystorePasskeystoreFile

TomcatPropertySet.CONNECTOR_KEY_STORE_PASSWORDFILE

(tick)

N/A

(green star)

cargo.tomcat.connector.keystoreTypekeystorePass

TomcatPropertySet.CONNECTOR_KEY_STORE_TYPEPASSWORD

(tick)

N/A

(green star)

cargo.tomcat.connector.sslProtocolkeystoreType

TomcatPropertySet.CONNECTOR_KEY_SSLSTORE_PROTOCOLTYPE

(tick)

N/A

(green star)

cargo.tomcat.connector.truststoreFilemaxHttpHeaderSize

TomcatPropertySet.CONNECTOR_MAX_TRUSTHTTP_STOREHEADER_FILESIZE

(tick)

N/A

(green star)

cargo.tomcat.connector.truststorePassprotocolClass

TomcatPropertySet.CONNECTOR_TRUSTPROTOCOL_STORE_PASSWORDCLASS

(tick)

N/A

(green star)

cargo.tomcat.connector.truststoreTypesslImplementationName

TomcatPropertySet.CONNECTOR_TRUSTSSL_STOREIMPLEMENTATION_TYPENAME

(tick)

N/A

(green star)

cargo.tomcat.contextconnector.allowCasualMultipartParsingsslProtocol

TomcatPropertySet.CONTEXTCONNECTOR_SSL_ALLOWMULTIPARTPROTOCOL

(tick) true

N/A

(green star)

cargo.tomcat.contextconnector.reloadabletruststoreFile

TomcatPropertySet.CONTEXT_RELOADABLECONNECTOR_TRUST_STORE_FILE

(tick) false

N/A

(green star)

cargo.tomcat.connector.copywarstruststorePass

TomcatPropertySet.COPY_WARSCONNECTOR_TRUST_STORE_PASSWORD

(tick) true

N/A

(green star)

cargo.tomcat.connector.httpSecuretruststoreType

TomcatPropertySet.HTTP_SECURECONNECTOR_TRUST_STORE_TYPE

(tick) false

N/A

(green star)

cargo.tomcat.context.uriencodingallowCasualMultipartParsing

TomcatPropertySet.URICONTEXT_ALLOW_ENCODINGMULTIPART

(tick)

ISO-8859-1true

(green star)

cargo.tomcat.useHttpOnlycontext.mapJarToWebinfClasses

TomcatPropertySet.USE_HTTP_ONLYCONTEXT_MAP_JARS_TO_WEBINF_CLASSES

(tick)

N/Afalse

(green star)

cargo.tomcat.valvecontext.reloadable

TomcatPropertySet.CUSTOMCONTEXT_VALVERELOADABLE

(tick)

N/Afalse

(green star)

cargo.tomcat.webappsDirectorycopywars

TomcatPropertySet.WEBAPPSCOPY_DIRECTORYWARS

(tick)

webappstrue

(green star)

Info
titleDatasource 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.

For embedded container o.c.c.c.tomcat.Tomcat9xEmbeddedLocalContainer
Info
titleDatasource 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.

Info
titleConfiguring HTTP/2 for Tomcat 8.5 and above

Tomcat 8.5 and above support HTTP/2.

For further information on how to enable this, please refer to Configuring HTTP/2 for Tomcat 8.5 and above.

For embedded container o.c.c.c.tomcat.Tomcat9xEmbeddedLocalContainer

Property name

Java Property

Supported?

Default value

Javadoc

cargo.hostname

GeneralPropertySet.HOSTNAME

(tick)

localhost

(green star)

cargo.java.home

GeneralPropertySet.JAVA_HOME

(tick)

JAVA_HOME version 8 or newer

(green star)

cargo.jvmargs

GeneralPropertySet.JVMARGS

(tick)

N/A

(green star)

cargo.logging

GeneralPropertySet.LOGGING

(tick)

medium

(green star)

cargo.port.offset

GeneralPropertySet.PORT_OFFSET

(tick)

0

(green star)

cargo.protocol

GeneralPropertySet.PROTOCOL

(tick)

http

(green star)

cargo.rmi.port

GeneralPropertySet.RMI_PORT

(tick)

8205

(green star)

cargo.runtime.args

GeneralPropertySet.RUNTIME_ARGS

(tick)

N/A

(green star)

cargo.servlet.port

ServletPropertySet.PORT

(tick)

8080

(green star)

cargo.servlet.users

ServletPropertySet.USERS

(tick)

admin::manager-script

(green star)

cargo.standalone.ignoreNonExistingProperties

GeneralPropertySet.IGNORE_NON_EXISTING_PROPERTIES

(tick)

N/A

(green star)

cargo.start.jvmargs

GeneralPropertySet.START_JVMARGS

(tick)

N/A

(green star)

cargo.tomcat.ajp.port

TomcatPropertySet.AJP_PORT

(tick)

8009

(green star)

cargo.tomcat.connector.clientAuth

TomcatPropertySet.CONNECTOR_CLIENT_AUTH

(tick)

N/A

(green star)

cargo.tomcat.connector.httpUpgradeProtocol

TomcatPropertySet.CONNECTOR_HTTP_UPGRADE_PROTOCOL

(tick)

N/A

(green star)

cargo.tomcat.servletconnector.portkeyAlias

ServletPropertySet.PORTTomcatPropertySet.CONNECTOR_KEY_ALIAS

(tick) 8080

N/A

(green star)

cargo.tomcat.servletconnector.userskeystoreFile

ServletPropertySet.USERSTomcatPropertySet.CONNECTOR_KEY_STORE_FILE

(tick) admin::manager-script

N/A

(green star)

cargo.standalonetomcat.connector.ignoreNonExistingPropertieskeystorePass

GeneralPropertySetTomcatPropertySet.IGNORECONNECTOR_NONKEY_EXISTINGSTORE_PROPERTIESPASSWORD

(tick)

N/A

(green star)

cargo.tomcat.startconnector.jvmargskeystoreType

GeneralPropertySet.START_JVMARGSTomcatPropertySet.CONNECTOR_KEY_STORE_TYPE

(tick)

N/A

(green star)

cargo.tomcat.ajpconnector.portmaxHttpHeaderSize

TomcatPropertySet.AJP_PORTCONNECTOR_MAX_HTTP_HEADER_SIZE

(tick) 8009

N/A

(green star)

cargo.tomcat.connector.clientAuthprotocolClass

TomcatPropertySet.CONNECTOR_CLIENTPROTOCOL_AUTHCLASS

(tick)

N/A

(green star)

cargo.tomcat.connector.keyAliassslImplementationName

TomcatPropertySet.CONNECTOR_SSL_KEYIMPLEMENTATION_ALIASNAME

(tick)

N/A

(green star)

cargo.tomcat.connector.keystoreFilesslProtocol

TomcatPropertySet.CONNECTOR_KEYSSL_STORE_FILEPROTOCOL

(tick)

N/A

(green star)

cargo.tomcat.connector.keystorePasstruststoreFile

TomcatPropertySet.CONNECTOR_KEYTRUST_STORE_PASSWORDFILE

(tick)

N/A

(green star)

cargo.tomcat.connector.keystoreTypetruststorePass

TomcatPropertySet.CONNECTOR_KEYTRUST_STORE_TYPEPASSWORD

(tick)

N/A

(green star)

cargo.tomcat.connector.sslProtocoltruststoreType

TomcatPropertySet.CONNECTOR_TRUST_SSLSTORE_PROTOCOLTYPE

(tick)

N/A

(green star)

cargo.tomcat.connectorcontext.truststoreFileallowCasualMultipartParsing

TomcatPropertySet.CONNECTORCONTEXT_TRUSTALLOW_STORE_FILEMULTIPART

(tick)

N/Atrue

(green star)

cargo.tomcat.connectorcontext.truststorePassmapJarToWebinfClasses

TomcatPropertySet.CONNECTOR_TRUST_STORE_PASSWORDCONTEXT_MAP_JARS_TO_WEBINF_CLASSES

(tick)

N/Afalse

(green star)

cargo.tomcat.connectorcontext.truststoreTypereloadable

TomcatPropertySet.CONNECTOR_TRUST_STORE_TYPECONTEXT_RELOADABLE

(tick)

N/Afalse

(green star)

cargo.tomcat.context.allowCasualMultipartParsingcopywars

TomcatPropertySet.CONTEXTCOPY_ALLOWMULTIPARTWARS

(tick)

true

(green star)

cargo.tomcat.contextembedded.reloadableoverrideJavaLogging

TomcatPropertySet.CONTEXT_RELOADABLEEMBEDDED_OVERRIDE_JAVA_LOGGING

(tick)

false

(green star)

cargo.tomcat.host.copywarsstartStopThreads

TomcatPropertySet.COPY_WARSHOST_START_STOP_THREADS

(tick) true

N/A

(green star)

cargo.tomcat.httpSecure

TomcatPropertySet.HTTP_SECURE

(tick)

false

(green star)

cargo.tomcat.uriencoding

TomcatPropertySet.URI_ENCODING

(tick)

ISOUTF-8859-18

(green star)

cargo.tomcat.useHttpOnly

TomcatPropertySet.USE_HTTP_ONLY

(tick)

N/A

(green star)

cargo.tomcat.valve

TomcatPropertySet.CUSTOM_VALVE

(tick)

N/A

(green star)

cargo.tomcat.webappsDirectory

TomcatPropertySet.WEBAPPS_DIRECTORY

(tick)

webapps

(green star)

Info
titleDatasource 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 Supportand/or resources.

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

Info
titleConfiguring HTTP/2 for Tomcat 8.5 and above

Tomcat 8.5 and above support HTTP/2.

For further information on how to enable this, please refer to Configuring HTTP/2 for Tomcat 8.5 and above.

Existing Local Configuration Properties

...

Runtime Configuration Properties

...

Info

With Tomcat 9, the Tomcat manager has multiple aspects to be careful about:

  • Your browser by default accesses the HTML-based manager whereas CARGO Codehaus Cargo needs to use the text-based manager. As a result, if you want to set the RemotePropertySet.URI manually, please make sure you set the URL for the text-based manager, for example http://production27:8080/manager/text
  • The text-based manager requires to be accessed by a user with the manager-script role; and by default no user has that role. As a result, please make sure you modify your tomcat-users.xml file to give that role to a user.
    You can read more in the Tomcat documentation: http https://tomcat.apache.org/tomcat-9.0-doc/manager-howto.html

Tested On

This container is automatically tested by the Continous Integration system every time there is a code change.
The server used for tests is downloaded from: httphttps://repo.maven.apache.org/maven2/org/apache/tomcat/tomcat/9.0.0.M2688/tomcat-9.0.0.M2688.zip