Skip to content

Commit

Permalink
chore(content): Add Tomcat 10 to Documentation
Browse files Browse the repository at this point in the history
Co-authored-by: danielkelemen
Co-authored-by: tasso94
Co-authored-by: petros.savvidis

Related-to: camunda/camunda-bpm-platform#4390
Parent-ticket: camunda/camunda-bpm-platform#2471
  • Loading branch information
psavidis authored Jul 4, 2024
1 parent 8d2ccd4 commit 68bf0df
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 5 deletions.
8 changes: 6 additions & 2 deletions content/installation/full/tomcat/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,8 @@ You have to add the file `bpm-platform.xml` to the folder `$TOMCAT_HOME/conf` or
## Secure Tomcat

Follow the Tomcat Security Howto of your Tomcat version:
[9.0](https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html).
[9.0](https://tomcat.apache.org/tomcat-9.0-doc/security-howto.html),
[10.1](https://tomcat.apache.org/tomcat-10.1-doc/security-howto.html).

In particular, go to `${TOMCAT_HOME}/webapps/` and remove the directories
`ROOT`, `docs`, `examples`, `manager` and `host-manager`.
Expand All @@ -160,7 +161,8 @@ The following steps are required to deploy the applications:

1. Download the Camunda 7 web application that contains both applications from our [Artifact Repository](https://artifacts.camunda.com/artifactory/camunda-bpm/org/camunda/bpm/webapp/camunda-webapp-tomcat/).
Or switch to the private repository for the enterprise version (User and password from license required).
Choose the correct version named `$PLATFORM_VERSION/camunda-webapp-tomcat-$PLATFORM_VERSION.war`.
* For [Tomcat 10](https://artifacts.camunda.com/ui/native/camunda-bpm/org/camunda/bpm/webapp/camunda-webapp-tomcat-jakarta/), the name of the artifact is `$PLATFORM_VERSION/camunda-webapp-tomcat-jakarta-$PLATFORM_VERSION.war`.
* For [Tomcat 9](https://artifacts.camunda.com/ui/native/camunda-bpm/org/camunda/bpm/webapp/camunda-webapp-tomcat/), the name of the artifact is `$PLATFORM_VERSION/camunda-webapp-tomcat-$PLATFORM_VERSION.war`.
2. Copy the war file to `$TOMCAT_HOME/webapps/camunda.war`.
Optionally you may name it differently or extract it to a folder to deploy it to a different context path.
3. Startup Tomcat.
Expand All @@ -174,6 +176,8 @@ The following steps are required to deploy the REST API:
1. Download the REST API web application archive from our [Artifact Repository](https://artifacts.camunda.com/artifactory/camunda-bpm/org/camunda/bpm/camunda-engine-rest/).
Or switch to the private repository for the enterprise version (User and password from license required).
Choose the correct version named `$PLATFORM_VERSION/camunda-engine-rest-$PLATFORM_VERSION-tomcat.war`.
* For [Tomcat 10](https://artifacts.camunda.com/artifactory/public/org/camunda/bpm/camunda-engine-rest-jakarta/), the name of the artifact is `$PLATFORM_VERSION/camunda-engine-rest-jakarta-$PLATFORM_VERSION-tomcat.war`.
* For [Tomcat 9](https://artifacts.camunda.com/artifactory/public/org/camunda/bpm/camunda-engine-rest/), the name of the artifact is `$PLATFORM_VERSION/camunda-engine-rest-$PLATFORM_VERSION-tomcat.war`.
2. Copy the war file to `$TOMCAT_HOME/webapps`.
Optionally you may rename it or extract it to a folder to deploy it to a specific context like `/engine-rest`.
3. Startup Tomcat.
Expand Down
2 changes: 1 addition & 1 deletion content/introduction/supported-environments.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Run Camunda in every Java-runnable environment. Camunda is supported with our QA

## Container-Managed Process Engine and Camunda Cockpit, Tasklist, Admin

* Apache Tomcat 9.0
* Apache Tomcat 9.0 / 10.1
* JBoss EAP 7.4 / 8.0
* WildFly Application Server 23.0 / 26.0 / 31.0
* IBM WebSphere Liberty 22 with Java EE 8 features ([Enterprise Edition only](http://camunda.com/enterprise/),
Expand Down
54 changes: 54 additions & 0 deletions content/update/minor/721-to-722/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ This document guides you through the update from Camunda `7.21.x` to `7.22.0` an
1. For developers: [Camunda Template Engines FreeMarker](#camunda-template-engines-freemarker)
1. For developers: [Camunda Connect](#camunda-connect)
1. For administrators and developers: [Update to JBoss EAP 8.0](#update-to-jboss-eap-8)
1. For administrators and developers: [Update to Tomcat 10 Server](#update-to-tomcat-10-server)

This guide covers mandatory migration steps and optional considerations for the initial configuration of new functionality included in Camunda 7.22.

Expand Down Expand Up @@ -99,3 +100,56 @@ Replace the artifact `camunda-webapp-jboss-$PLATFORM_VERSION.war` with `camunda-
### Replace REST API deployment

Replace the artifact `camunda-engine-rest-$PLATFORM_VERSION-wildfly.war` with `camunda-engine-rest-jakarta-$PLATFORM_VERSION-wildfly.war` under `$JBOSS_HOME/standalone/deployments`.

# Update to Tomcat 10 Server

This version brings support for `Tomcat 10.1`. A few reasons to upgrade are:

* Namespace Change: Switch from `javax.*` to `jakarta.*` for future compatibility.
* Enhanced Security: Improved security features and fixes.
* Modern Features: Supports `Servlet 6.0`, `JSP 3.1`, and `WebSocket 2.1`.
* Performance Improvements: Faster response times and better resource efficiency.
* Simplified Migration: Tools and documentation for easier transition from earlier versions.
* Better Integration: Enhanced compatibility with `Jakarta EE` components and third-party libraries.

From now on, our pre-packaged Tomcat distribution is built with `Tomcat 10.1`.
Additionally, the Tomcat Docker image will, from now on, utilize `Tomcat 10.1`.

If you prefer to stay on `Tomcat 9`, you can still download the `Java EE` compliant [web application][tomcat9-webapp], and [REST API][tomcat9-rest-api].

To work with `Tomcat 10`, consider the following when migrating your process applications and replacing artifacts on the application server:

[tomcat9-webapp]: https://artifacts.camunda.com/ui/native/camunda-bpm/org/camunda/bpm/webapp/camunda-webapp-tomcat/
[tomcat9-rest-api]: https://artifacts.camunda.com/artifactory/public/org/camunda/bpm/camunda-engine-rest/

### Migrate process applications

* Replace Java EE class references (`javax.*`) with Jakarta class references (`jakarta.*`)
* You might have a look at [`org.eclipse.transformer:transformer-maven-plugin`](https://github.com/eclipse/transformer)
* Replace Camunda class references:
* `org.camunda.bpm.application.impl.EjbProcessApplication``org.camunda.bpm.application.impl.JakartaEjbProcessApplication`
* `org.camunda.bpm.application.impl.ServletProcessApplicationDeployer``org.camunda.bpm.application.impl.JakartaServletProcessApplicationDeployer`
* `org.camunda.bpm.application.impl.ServletProcessApplication``org.camunda.bpm.application.impl.JakartaServletProcessApplication`
* `org.camunda.bpm.engine.impl.cfg.jta.JtaTransactionContext``org.camunda.bpm.engine.impl.cfg.jta.JakartaTransactionContext`
* `org.camunda.bpm.engine.impl.cfg.jta.JtaTransactionContextFactory``org.camunda.bpm.engine.impl.cfg.jta.JakartaTransactionContextFactory`
* `org.camunda.bpm.engine.impl.cfg.JtaProcessEngineConfiguration``org.camunda.bpm.engine.impl.cfg.JakartaTransactionProcessEngineConfiguration`
* `org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor``org.camunda.bpm.engine.impl.interceptor.JakartaTransactionInterceptor`
* Replace Camunda Maven dependencies:
* `org.camunda.bpm.javaee:camunda-ejb-client``org.camunda.bpm.javaee:camunda-ejb-client-jakarta`
* `org.camunda.bpm:camunda-engine-cdi``org.camunda.bpm:camunda-engine-cdi-jakarta`

### Migrate Java webapp plugins

Replace Java EE class references (`javax.*`) with Jakarta class references (`jakarta.*`)

### Replace web application (Cockpit, Admin, Tasklist, Welcome) deployment

Replace the artifact `camunda-webapp-tomcat-$PLATFORM_VERSION.war` with `camunda-webapp-tomcat-jakarta-$PLATFORM_VERSION.war` under `$CATALINA_HOME/webapps`.

### Replace REST API deployment

Replace the artifact `camunda-engine-rest-$PLATFORM_VERSION-tomcat.war` with `camunda-engine-rest-jakarta-$PLATFORM_VERSION-tomcat.war` under `$CATALINA_HOME/webapps`.

### Migrating to the Tomcat 10 Docker Image

If your application uses a Docker image based on `Tomcat 9`, you need to perform the above migration steps yourself before your application is compatible with the `jakarta` namespace changes the new Tomcat version introduces.
15 changes: 15 additions & 0 deletions content/update/patch-level.md
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,21 @@ This will allow a better experience when looking for process definitions.
The change also affects the API that provides the data for the search component.
This API is an internal API, which means it's **not** part of the public [REST API]({{< ref "/reference/rest" >}}), so the change should not affect any customers.

## 7.21.3 to 7.21.4

### Added Support for Tomcat 10

This version supports all the necessary building-block modules for our users to use `camunda-bpm-platform` community and enterprise editions in conjunction with `Tomcat 10.1`.

{{< note title="Heads-up!" class="warning" >}}
`Tomcat 10` is compatible with the `jakarta` namespace.
If you wish to use it, the `jakarta` modules needs to be used (`camunda-webapp-tomcat-jakarta`, `camunda-engine-rest-jakarta`).

The `javax` modules won't work with `Tomcat 10`.

For detailed steps of manual installation, follow the [Tomcat Manual Installation Guide]({{< ref "/installation/full/tomcat/manual.md" >}})
{{< /note >}}

# Full Distribution

This section is applicable if you installed the [Full Distribution]({{< ref "/introduction/downloading-camunda.md#full-distribution" >}}) with a **shared process engine**. In this case you need to update the libraries and applications installed inside the application server.
Expand Down
4 changes: 2 additions & 2 deletions content/user-guide/runtime-container-integration/tomcat.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ menu:

# JNDI Bindings

To use the JNDI Bindings for Camunda 7 Services on Apache Tomcat you have to add the file `META-INF/context.xml` to your process application and add the following [ResourceLinks](http://tomcat.apache.org/tomcat-9.0-doc/config/context.html#Resource_Links):
To use the JNDI Bindings for Camunda 7 Services on Apache Tomcat you have to add the file `META-INF/context.xml` to your process application and add the following ResourceLinks ([Tomcat 9](http://tomcat.apache.org/tomcat-9.0-doc/config/context.html#Resource_Links), [Tomcat 10.1](https://tomcat.apache.org/tomcat-10.1-doc/config/context.html#Resource_Links)):

```xml
<Context>
Expand Down Expand Up @@ -64,7 +64,7 @@ If you have declared other resource link names than we proposed, you have to use

## Tomcat Default Job Executor

Camunda 7 on Apache Tomcat 9.x uses the default job executor. The default [job executor]({{< ref "/user-guide/process-engine/the-job-executor.md" >}}) uses a ThreadPoolExecutor which manages a thread
Camunda 7 on Apache Tomcat 10.x uses the default job executor. The default [job executor]({{< ref "/user-guide/process-engine/the-job-executor.md" >}}) uses a ThreadPoolExecutor which manages a thread
pool and a job queue.

The core pool size, queue size, maximum pool size and keep-alive-time can be configured in the `bpm-platform.xml`.
Expand Down

0 comments on commit 68bf0df

Please sign in to comment.