diff --git a/Jenkinsfile b/Jenkinsfile
index e93750212e4..e3facd83dc7 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -233,7 +233,7 @@ pipeline {
cambpmConditionalRetry([
agentLabel: 'postgresql_142',
runSteps: {
- cambpmRunMaven('qa/', 'clean install -Ptomcat,postgresql,engine-integration', runtimeStash: true, archiveStash: true)
+ cambpmRunMaven('qa/', 'clean install -Ptomcat9,postgresql,engine-integration', runtimeStash: true, archiveStash: true)
},
postFailure: {
cambpmPublishTestResult()
@@ -241,6 +241,25 @@ pipeline {
])
}
}
+ stage('engine-IT-tomcat-10-postgresql-142') {
+ when {
+ expression {
+ cambpmWithLabels('all-as', 'tomcat')
+ }
+ }
+ steps {
+ cambpmConditionalRetry([
+ agentLabel: 'postgresql_142',
+ runSteps: {
+ cambpmRunMaven('qa/', 'clean install -Ptomcat,postgresql,engine-integration-jakarta', runtimeStash: true, archiveStash: true, jdkVersion: 'jdk-17-latest')
+ },
+ postFailure: {
+ cambpmPublishTestResult()
+ cambpmArchiveArtifacts('qa/tomcat-runtime/target/**/standalone/log/**')
+ }
+ ])
+ }
+ }
stage('engine-IT-wildfly-postgresql-142') {
when {
expression {
@@ -339,11 +358,31 @@ pipeline {
cambpmConditionalRetry([
agentLabel: 'chrome_112',
runSteps: {
- cambpmRunMaven('qa/', 'clean install -Ptomcat,h2,webapps-integration', runtimeStash: true, archiveStash: true)
+ cambpmRunMaven('qa/', 'clean install -Ptomcat9,h2,webapps-integration', runtimeStash: true, archiveStash: true)
+ },
+ postFailure: {
+ cambpmPublishTestResult()
+ cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/selenium-screenshots/*')
+ }
+ ])
+ }
+ }
+ stage('webapp-IT-tomcat-10-h2') {
+ when {
+ expression {
+ cambpmWithLabels('webapp-integration', 'h2')
+ }
+ }
+ steps {
+ cambpmConditionalRetry([
+ agentLabel: 'chrome_112',
+ runSteps: {
+ cambpmRunMaven('qa/', 'clean install -Ptomcat,h2,webapps-integration -DskipTests-webapps=true', runtimeStash: true, archiveStash: true, jdkVersion: 'jdk-17-latest')
},
postFailure: {
cambpmPublishTestResult()
cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/selenium-screenshots/*')
+ cambpmArchiveArtifacts('qa/integration-tests-webapps/shared-engine/target/*')
}
])
}
diff --git a/clients/java/client/pom.xml b/clients/java/client/pom.xml
index 2defee0ed3d..c3f003a02a3 100644
--- a/clients/java/client/pom.xml
+++ b/clients/java/client/pom.xml
@@ -137,7 +137,7 @@
org.camunda.bpm
- camunda-engine-rest
+ camunda-engine-rest-jakarta
test
war
tomcat
@@ -262,7 +262,7 @@
installed
- tomcat9x
+ tomcat10x
false
${tomcat.runtime}
${cargo.timeout}
@@ -288,7 +288,7 @@
org.camunda.bpm
- camunda-engine-rest
+ camunda-engine-rest-jakarta
war
tomcat
diff --git a/clients/java/qa/engine-variable-test/pom.xml b/clients/java/qa/engine-variable-test/pom.xml
index 1727cc6b950..6ac6ee7b887 100644
--- a/clients/java/qa/engine-variable-test/pom.xml
+++ b/clients/java/qa/engine-variable-test/pom.xml
@@ -22,9 +22,9 @@
- javax.servlet
- javax.servlet-api
- 4.0.0
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
provided
diff --git a/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java b/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java
index d8d0578b930..2a5dfbf91a0 100644
--- a/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java
+++ b/clients/java/qa/engine-variable-test/src/main/java/org/camunda/qa/Application.java
@@ -17,12 +17,12 @@
package org.camunda.qa;
import org.camunda.bpm.application.ProcessApplication;
-import org.camunda.bpm.application.impl.ServletProcessApplication;
+import org.camunda.bpm.application.impl.JakartaServletProcessApplication;
/**
* @author Tassilo Weidner
*/
@ProcessApplication
-public class Application extends ServletProcessApplication {
+public class Application extends JakartaServletProcessApplication {
}
\ No newline at end of file
diff --git a/distro/tomcat/assembly/assembly.xml b/distro/tomcat/assembly/assembly.xml
index 86af8da3f65..c2ecc7da9a8 100644
--- a/distro/tomcat/assembly/assembly.xml
+++ b/distro/tomcat/assembly/assembly.xml
@@ -53,7 +53,6 @@
org.graalvm.sdk:graal-sdk:jar:*
com.ibm.icu:icu4j:jar:*
org.slf4j:slf4j-api:jar:*
- org.slf4j:slf4j-jdk14:jar:*
org.camunda.bpm:camunda-engine-plugin-*:jar
org.camunda.spin:camunda-spin-core*:jar
@@ -95,7 +94,6 @@
org.graalvm.sdk:graal-sdk:jar:*
com.ibm.icu:icu4j:jar:*
org.slf4j:slf4j-api:jar:*
- org.slf4j:slf4j-jdk14:jar:*
org.camunda.bpm:camunda-engine-plugin-*:jar
org.camunda.spin:camunda-spin-core*:jar
diff --git a/distro/tomcat/assembly/pom.xml b/distro/tomcat/assembly/pom.xml
index da92cc7f4a8..d7e13a1c322 100644
--- a/distro/tomcat/assembly/pom.xml
+++ b/distro/tomcat/assembly/pom.xml
@@ -91,7 +91,7 @@
org.camunda.bpm
- camunda-engine-cdi
+ camunda-engine-cdi-jakarta
@@ -108,6 +108,7 @@
org.camunda.bpm
camunda-engine-plugin-spin
+ ${project.version}
@@ -125,21 +126,12 @@
org.camunda.bpm
camunda-engine-plugin-connect
+ ${project.version}
org.camunda.connect
camunda-connect-connectors-all
-
-
- org.camunda.connect
- camunda-connect-http-client
-
-
- org.camunda.connect
- camunda-connect-soap-http-client
-
-
${project.version}
@@ -155,11 +147,6 @@
camunda-template-engines-freemarker
-
- org.slf4j
- slf4j-jdk14
-
-
diff --git a/distro/tomcat/distro/assembly.xml b/distro/tomcat/distro/assembly.xml
index a1b0461be7a..1c521331225 100644
--- a/distro/tomcat/distro/assembly.xml
+++ b/distro/tomcat/distro/assembly.xml
@@ -34,7 +34,7 @@
- org.camunda.bpm:camunda-engine-rest:war:*
+ org.camunda.bpm:camunda-engine-rest-jakarta:war:*
server/apache-tomcat-${version.tomcat}/webapps/engine-rest
true
@@ -42,7 +42,7 @@
- org.camunda.bpm.webapp:camunda-webapp-tomcat:war:*
+ org.camunda.bpm.webapp:camunda-webapp-tomcat-jakarta:war:*
server/apache-tomcat-${version.tomcat}/webapps/camunda
true
@@ -50,7 +50,7 @@
- org.camunda.bpm.example:camunda-example-invoice:war:*
+ org.camunda.bpm.example:camunda-example-invoice-jakarta:war:*
server/apache-tomcat-${version.tomcat}/webapps/camunda-invoice
true
diff --git a/distro/tomcat/distro/pom.xml b/distro/tomcat/distro/pom.xml
index 34a9f96a4c2..c4f923f261e 100644
--- a/distro/tomcat/distro/pom.xml
+++ b/distro/tomcat/distro/pom.xml
@@ -14,6 +14,15 @@
+
+ org.camunda.bpm.distro
+ camunda-sql-scripts
+ ${project.version}
+ jar
+
+
+
+
org.camunda.bpm.tomcat
camunda-tomcat-assembly
@@ -22,20 +31,36 @@
- org.camunda.bpm.distro
- camunda-sql-scripts
+ org.camunda.bpm.webapp
+ camunda-webapp-tomcat-jakarta
${project.version}
- jar
+ war
org.camunda.bpm
- camunda-engine-rest
+ camunda-engine-rest-jakarta
${project.version}
tomcat
war
+
+ org.camunda.bpm.example
+ camunda-example-invoice-jakarta
+ ${project.version}
+ war
+
+
+
+
+
+ org.camunda.bpm.tomcat
+ camunda-tomcat-assembly
+ ${project.version}
+ tar.gz
+
+
org.camunda.bpm.webapp
camunda-webapp-tomcat
@@ -43,11 +68,20 @@
war
+
+ org.camunda.bpm
+ camunda-engine-rest
+ ${project.version}
+ tomcat
+ war
+
+
org.camunda.bpm.example
camunda-example-invoice
${project.version}
war
+
@@ -59,7 +93,7 @@
maven-assembly-plugin
- distro
+ distro-tomcat10
package
single
diff --git a/distro/tomcat/pom.xml b/distro/tomcat/pom.xml
index 0b6c0b68b35..a25e7af2053 100644
--- a/distro/tomcat/pom.xml
+++ b/distro/tomcat/pom.xml
@@ -44,6 +44,7 @@
distro
webapp
+ webapp-jakarta
diff --git a/distro/tomcat/webapp-jakarta/pom.xml b/distro/tomcat/webapp-jakarta/pom.xml
new file mode 100644
index 00000000000..0c1ee198887
--- /dev/null
+++ b/distro/tomcat/webapp-jakarta/pom.xml
@@ -0,0 +1,49 @@
+
+
+
+ org.camunda.bpm.tomcat
+ camunda-tomcat
+ 7.22.0-SNAPSHOT
+
+
+ 4.0.0
+ Camunda Platform - webapp - jakarta - Tomcat
+ org.camunda.bpm.webapp
+ camunda-webapp-tomcat-jakarta
+ war
+
+
+ false
+
+ 6.2.3.Final
+
+
+
+
+
+ org.camunda.bpm.webapp
+ camunda-webapp-jakarta
+ ${project.version}
+ war
+ runtime
+
+
+
+ org.jboss.resteasy
+ resteasy-core
+ ${version.resteasy}
+
+
+
+
+ camunda-webapp
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+
+
+
+
+
diff --git a/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml b/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 00000000000..cfca17a1d10
--- /dev/null
+++ b/distro/tomcat/webapp-jakarta/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,274 @@
+
+
+
+ Camunda Platform webapp
+
+
+
+ org.camunda.bpm.cockpit.impl.web.bootstrap.CockpitContainerBootstrap
+
+
+
+
+ org.camunda.bpm.admin.impl.web.bootstrap.AdminContainerBootstrap
+
+
+
+
+ org.camunda.bpm.tasklist.impl.web.bootstrap.TasklistContainerBootstrap
+
+
+
+
+ org.camunda.bpm.welcome.impl.web.bootstrap.WelcomeContainerBootstrap
+
+
+
+
+ org.camunda.bpm.webapp.impl.security.filter.util.HttpSessionMutexListener
+
+
+
+
+ true
+ false
+
+
+
+
+
+
+
+
+ Authentication Filter
+ org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter
+
+
+ cacheTimeToLive
+ 300000
+
+
+
+ Authentication Filter
+ /*
+ REQUEST
+
+
+
+
+ SecurityFilter
+ org.camunda.bpm.webapp.impl.security.filter.SecurityFilter
+
+ configFile
+ /WEB-INF/securityFilterRules.json
+
+
+
+ SecurityFilter
+ /*
+ REQUEST
+
+
+
+
+ CsrfPreventionFilter
+ org.camunda.bpm.webapp.impl.security.filter.CsrfPreventionFilter
+
+
+
+
+
+
+ CsrfPreventionFilter
+ /*
+
+
+
+
+ SessionCookieFilter
+ org.camunda.bpm.webapp.impl.security.filter.SessionCookieFilter
+
+
+
+
+
+
+ SessionCookieFilter
+ /*
+
+
+
+
+ HttpHeaderSecurity
+ org.camunda.bpm.webapp.impl.security.filter.headersec.HttpHeaderSecurityFilter
+
+
+
+
+
+
+
+ HttpHeaderSecurity
+ /*
+ REQUEST
+
+
+
+
+ EmptyBodyFilter
+ org.camunda.bpm.engine.rest.filter.EmptyBodyFilter
+
+
+ EmptyBodyFilter
+ /api/*
+
+
+
+
+ CacheControlFilter
+ org.camunda.bpm.engine.rest.filter.CacheControlFilter
+
+
+ CacheControlFilter
+ /api/*
+
+
+
+
+ Engines Filter
+ org.camunda.bpm.webapp.impl.engine.ProcessEnginesFilter
+
+
+ Engines Filter
+ /app/*
+ REQUEST
+
+
+
+
+ Cockpit Api
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.cockpit.impl.web.CockpitApplication
+
+
+ resteasy.servlet.mapping.prefix
+ /api/cockpit
+
+
+
+ Cockpit Api
+ /api/cockpit/*
+
+
+
+
+ Admin Api
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.admin.impl.web.AdminApplication
+
+
+ resteasy.servlet.mapping.prefix
+ /api/admin
+
+
+
+ Admin Api
+ /api/admin/*
+
+
+
+
+ Tasklist Api
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.tasklist.impl.web.TasklistApplication
+
+
+ resteasy.servlet.mapping.prefix
+ /api/tasklist
+
+
+
+ Tasklist Api
+ /api/tasklist/*
+
+
+
+
+ Engine Api
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.webapp.impl.engine.EngineRestApplication
+
+
+ resteasy.servlet.mapping.prefix
+ /api/engine
+
+
+
+ Engine Api
+ /api/engine/*
+
+
+
+
+ Welcome Api
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.welcome.impl.web.WelcomeApplication
+
+
+ resteasy.servlet.mapping.prefix
+ /api/welcome
+
+
+
+ Welcome Api
+ /api/welcome/*
+
+
+
+
+
+ 404
+ /error-404-page.html
+
+
+
+ 500
+ /error-500-page.html
+
+
diff --git a/engine-rest/assembly-jakarta/assembly-war-tomcat.xml b/engine-rest/assembly-jakarta/assembly-war-tomcat.xml
new file mode 100644
index 00000000000..046e9dea3ac
--- /dev/null
+++ b/engine-rest/assembly-jakarta/assembly-war-tomcat.xml
@@ -0,0 +1,72 @@
+
+
+
+ tomcat
+
+
+ war
+
+
+ false
+
+
+
+
+
+ WEB-INF/lib
+ true
+ true
+
+ org.camunda.bpm:camunda-engine-rest-core-jakarta:jar
+
+
+
+
+
+ WEB-INF/lib
+ true
+ true
+ provided
+
+
+
+ jakarta.servlet:jakarta.servlet-api:jar
+ jakarta.activation:jakarta.activation-api:jar
+ jakarta.ws.rs:jakarta.ws.rs-api:jar
+ jakarta.xml.bind:jakarta.xml.bind-api:jar
+
+
+ org.jboss.resteasy:resteasy-*
+
+
+
+ org.camunda.bpm:camunda-engine-rest-core-jakarta:jar:tests
+ org.camunda.bpm:camunda-engine-rest-core-jakarta:jar:sources
+
+
+
+
+
+ /
+
+ org.camunda.bpm:camunda-engine-rest-jakarta:war:*
+
+ true
+
+
+ **/web.xml
+
+
+
+
+
+
+
+
+ src/main/runtime/tomcat/webapp
+ /
+
+
+
+
\ No newline at end of file
diff --git a/engine-rest/assembly-jakarta/pom.xml b/engine-rest/assembly-jakarta/pom.xml
index 72721b98f33..020dabdd60f 100644
--- a/engine-rest/assembly-jakarta/pom.xml
+++ b/engine-rest/assembly-jakarta/pom.xml
@@ -18,6 +18,8 @@
runtime-specific-WARs are in provided scope -->
false
compile|provided
+
+ 6.2.3.Final
@@ -29,6 +31,31 @@
import
pom
+
+
+ org.jboss.resteasy
+ resteasy-core
+ ${version.resteasy}
+
+
+
+ org.jboss.resteasy
+ resteasy-jaxb-provider
+ ${version.resteasy}
+
+
+
+ org.jboss.resteasy
+ resteasy-client
+ ${version.resteasy}
+
+
+
+ org.jboss.resteasy
+ resteasy-servlet-initializer
+ ${version.resteasy}
+
+
@@ -47,6 +74,7 @@
sources
provided
+
org.camunda.bpm
camunda-engine-rest-core-jakarta
@@ -55,11 +83,46 @@
provided
+
+
jakarta.ws.rs
jakarta.ws.rs-api
provided
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ provided
+
+
+
+
+
+ org.jboss.resteasy
+ resteasy-core
+ provided
+
+
+
+ org.jboss.resteasy
+ resteasy-jaxb-provider
+ provided
+
+
+
+ org.jboss.resteasy
+ resteasy-client
+ provided
+
+
+
+ org.jboss.resteasy
+ resteasy-servlet-initializer
+ provided
+
+
@@ -92,6 +155,24 @@
+
+ tomcat
+ package
+
+ single
+
+
+
+ assembly-war-tomcat.xml
+
+ camunda-engine-rest-jakarta-${project.version}
+ true
+ tomcat
+ target/
+ target/assembly/work
+
+
+
classes
package
diff --git a/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml b/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml
new file mode 100644
index 00000000000..b35a796295c
--- /dev/null
+++ b/engine-rest/assembly-jakarta/src/main/runtime/tomcat/webapp/WEB-INF/web.xml
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+ org.camunda.bpm.engine.rest.impl.web.bootstrap.RestContainerBootstrap
+
+
+
+ org.camunda.bpm.engine.rest.impl.FetchAndLockContextListener
+
+
+
+ EmptyBodyFilter
+ org.camunda.bpm.engine.rest.filter.EmptyBodyFilter
+ true
+
+
+ EmptyBodyFilter
+ /*
+
+
+
+ CacheControlFilter
+ org.camunda.bpm.engine.rest.filter.CacheControlFilter
+ true
+
+
+ CacheControlFilter
+ /*
+
+
+
+
+
+
+ Resteasy
+ org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
+
+ jakarta.ws.rs.Application
+ org.camunda.bpm.engine.rest.impl.application.DefaultApplication
+
+ true
+
+
+
+ Resteasy
+ /*
+
+
+
\ No newline at end of file
diff --git a/parent/pom.xml b/parent/pom.xml
index ed108aeb8b2..0e5c04edc02 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -63,7 +63,8 @@
26.0.1.Final
18.0.4.Final
- 9.0.85
+ 9.0.85
+ 10.1.18
1.1.10.Final
2.2.2
diff --git a/qa/integration-tests-engine-jakarta/pom.xml b/qa/integration-tests-engine-jakarta/pom.xml
index 76eb2ca48a7..092fe2124c0 100644
--- a/qa/integration-tests-engine-jakarta/pom.xml
+++ b/qa/integration-tests-engine-jakarta/pom.xml
@@ -20,6 +20,8 @@
1.7.0.Final
true
+
+ 5.1.0.Final
+
+ org.jboss.weld.servlet
+ weld-servlet-shaded
+ ${weld.version}
+
+
@@ -149,6 +158,8 @@
test
+
+
org.camunda.bpm.javaee
camunda-ejb-client-jakarta
@@ -336,6 +347,22 @@
+
+ copy-test-sources-tomcat
+ process-sources
+
+ copy-resources
+
+
+ ${project.build.directory}/generated-test-sources/java-tomcat
+
+
+ ${basedir}/../integration-tests-engine/src/test/java-tomcat
+ false
+
+
+
+
copy-test-sources-wildfly
process-sources
@@ -387,6 +414,33 @@
+
+ copy-test-resources-tomcat
+ process-sources
+
+ copy-resources
+
+
+ ${project.build.directory}/generated-test-resources/resources-tomcat
+
+
+ ${basedir}/../integration-tests-engine/src/test/resources-tomcat
+ false
+
+
+ **/arquillian.xml
+
+
+
+
+
+ ${basedir}/src/test/resources-tomcat
+ false
+
+
+
+
+
copy-test-resources-wildfly
process-sources
@@ -424,6 +478,7 @@
org.eclipse.transformer
transformer-maven-plugin
+
transform-jakarta-test-sources
generate-test-sources
@@ -434,6 +489,16 @@
${project.build.directory}/generated-test-sources/jakarta
+
+ transform-jakarta-test-sources-tomcat
+ generate-test-sources
+
+ transform
+
+
+ ${project.build.directory}/generated-test-sources/java-tomcat
+
+
transform-jakarta-test-sources-wildfly
generate-test-sources
@@ -454,6 +519,7 @@
${project.build.directory}/generated-test-sources/java-wildfly-servlet
+
transform-jakarta-test-resources
generate-test-resources
@@ -474,6 +540,16 @@
${project.build.directory}/generated-test-resources/resources-wildfly
+
+ transform-jakarta-test-resources-tomcat
+ generate-test-resources
+
+ transform
+
+
+ ${project.build.directory}/generated-test-resources/resources-tomcat
+
+
@@ -513,6 +589,154 @@
+
+ tomcat
+
+
+
+ org.camunda.bpm
+ camunda-core-internal-dependencies
+ ${project.version}
+ import
+ pom
+
+
+
+
+
+
+
+ org.camunda.bpm.qa
+ camunda-qa-tomcat-runtime
+ ${project.version}
+ provided
+ pom
+
+
+
+ org.jboss.weld.servlet
+ weld-servlet-shaded
+ test
+
+
+
+
+ org.jboss.arquillian.container
+ arquillian-tomcat-managed-8
+ 1.1.0.Final
+ test
+
+
+
+
+ org.jboss.arquillian.protocol
+ arquillian-protocol-servlet-jakarta
+
+
+
+ org.jboss.arquillian.junit
+ arquillian-junit-container
+ test
+
+
+
+
+
+
+
+ src/test/resources-tomcat
+ true
+
+
+ ${project.build.directory}/generated-test-resources/resources-tomcat
+ true
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-test-source
+ generate-test-sources
+
+ add-test-source
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ ${*}
+
+ false
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ ${skipTests-webapps}
+
+
+ **/ear/**
+ **/ejb/**
+ **/jar/**
+ **/transactions/**
+ **/jpa/**
+
+ **/JobExecutorRequestContextTest.java
+
+ **/TestWarDeploymentWithBrokenBpmnXml.java
+ **/TestDeploymentWithDroolsTaskFails.java
+ **/TestProcessEnginesXmlFails.java
+
+ **/TestWarDeploymentWithProcessEnginePlugin.java
+
+ **/*_JBOSS.java
+ **/EjbPALifecycleCallbacksTest.java
+
+ **/PythonPaClassImportTest.java
+
+ **/MigrationContextSwitchBeansTest.java
+
+ **/ManagedJobExecutorTest.java
+
+
+ **/CallActivityContextSwitchTest.java
+ **/TestMultipleClasspathRoots.java
+ **/TestResourceName.java
+ **/TestWarDeploymentDeployChangedOnlyWithJarAsLib.java
+ **/TestWarDeploymentWithDiagram.java
+ **/TestWarDeploymentWithoutDiagram.java
+ **/TestWarDeploymentWithoutProcessDefinitions.java
+ **/TestWarDeploymentWithoutProcessesXml.java
+ **/CdiBeanCallActivityResolutionTest.java
+ **/CdiBeanCaseTaskResolutionTest.java
+ **/CallActivityContextSwitchTest.java
+ **/FailingJobBoundaryTimerWithDelegateVariablesTest.java
+ **/SignalEventCatchBoundaryWithVariablesTest.java
+ **/TimerRecalculationTest.java
+ **/CdiProcessApplicationEventSupportTest.java
+
+
+
+ ${redirect.test.output}
+
+
+
+
+
+
wildfly
diff --git a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
index d51a2779806..75678f330af 100644
--- a/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
+++ b/qa/integration-tests-engine-jakarta/src/test/java/org/camunda/bpm/integrationtest/util/DeploymentHelper.java
@@ -16,7 +16,9 @@
*/
package org.camunda.bpm.integrationtest.util;
+import org.apache.commons.lang.ArrayUtils;
import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
public class DeploymentHelper extends AbstractDeploymentHelper {
@@ -40,4 +42,41 @@ public static JavaArchive[] getEngineSpring() {
return getEngineSpring(CAMUNDA_ENGINE_SPRING);
}
+ protected static JavaArchive[] getWeld(String engineCdiArtifactName) {
+ if (CACHED_WELD_ASSETS != null) {
+ return CACHED_WELD_ASSETS;
+ } else {
+
+ JavaArchive[] archives = resolveDependenciesFromPomXml(engineCdiArtifactName,
+ "org.jboss.weld.servlet:weld-servlet-shaded"
+ );
+
+ if(archives.length == 0) {
+ throw new RuntimeException("could not resolve the weld implementation and jakarta API dependencies");
+ } else {
+ CACHED_WELD_ASSETS = archives;
+ return CACHED_WELD_ASSETS;
+ }
+ }
+ }
+
+ protected static JavaArchive[] resolveDependenciesFromPomXml(String engineCdiArtifactName, String... dependencyNames) {
+ JavaArchive[] result = new JavaArchive[0];
+ for (String dependencyName : dependencyNames) {
+ JavaArchive[] archive = resolveDependenciesFromPomXml(engineCdiArtifactName, dependencyName);
+ result = (JavaArchive[]) ArrayUtils.addAll(result, archive);
+ }
+
+ return result;
+ }
+
+ protected static JavaArchive[] resolveDependenciesFromPomXml(String engineCdiArtifactName, String dependencyName) {
+ return Maven.configureResolver()
+ .workOffline()
+ .loadPomFromFile("pom.xml")
+ .resolve(engineCdiArtifactName, dependencyName)
+ .withoutTransitivity()
+ .as(JavaArchive.class);
+ }
+
}
diff --git a/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml b/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml
new file mode 100644
index 00000000000..aa982309b1b
--- /dev/null
+++ b/qa/integration-tests-engine-jakarta/src/test/resources-tomcat/arquillian.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ target/deployments
+
+
+
+
+ ${tomcat.runtime.location}
+ ${tomcat.runtime.location}
+ ${tomcat.connector.http.port}
+ arquillian
+ arquillian
+ 8089
+ -Xmx512m
+
+
+
+
diff --git a/qa/integration-tests-engine/pom.xml b/qa/integration-tests-engine/pom.xml
index 0195d758051..e3b0c018072 100644
--- a/qa/integration-tests-engine/pom.xml
+++ b/qa/integration-tests-engine/pom.xml
@@ -497,7 +497,7 @@
- tomcat
+ tomcat9
@@ -521,7 +521,7 @@
org.camunda.bpm.qa
- camunda-qa-tomcat-runtime
+ camunda-qa-tomcat9-runtime
${project.version}
provided
pom
diff --git a/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml b/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml
index 771173bec55..aa76aaee191 100644
--- a/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml
+++ b/qa/integration-tests-engine/src/test/resources-tomcat/arquillian.xml
@@ -10,8 +10,8 @@
- ${tomcat.runtime.location}
- ${tomcat.runtime.location}
+ ${tomcat9.runtime.location}
+ ${tomcat9.runtime.location}
${tomcat.connector.http.port}
arquillian
arquillian
diff --git a/qa/integration-tests-webapps/shared-engine/pom.xml b/qa/integration-tests-webapps/shared-engine/pom.xml
index a46f5740b6d..31ab5bcf210 100644
--- a/qa/integration-tests-webapps/shared-engine/pom.xml
+++ b/qa/integration-tests-webapps/shared-engine/pom.xml
@@ -247,16 +247,16 @@
- tomcat
+ tomcat9
- ${basedir}/../${tomcat.runtime.location}
+ ${basedir}/../${tomcat9.runtime.location}
${tomcat.connector.http.port}
org.camunda.bpm.qa
- camunda-qa-tomcat-runtime
+ camunda-qa-tomcat9-runtime
${project.version}
pom
@@ -352,6 +352,119 @@
+
+ tomcat
+
+ ${basedir}/../${tomcat.runtime.location}
+ ${tomcat.connector.http.port}
+
+
+
+
+ org.camunda.bpm.qa
+ camunda-qa-tomcat-runtime
+ ${project.version}
+ pom
+
+
+ org.camunda.bpm.webapp
+ camunda-webapp-tomcat-jakarta
+ ${project.version}
+ war
+ test
+
+
+ org.camunda.bpm
+ camunda-engine-rest-jakarta
+ ${project.version}
+ war
+ test
+ tomcat
+
+
+ org.camunda.bpm.example
+ camunda-example-invoice-jakarta
+ ${project.version}
+ war
+ test
+
+
+
+
+
+
+ org.codehaus.cargo
+ cargo-maven3-plugin
+
+
+ start-container
+ pre-integration-test
+
+ start
+
+
+
+ stop-container
+ post-integration-test
+
+ stop
+
+
+
+
+
+
+ installed
+ tomcat10x
+ false
+ ${tomcat.runtime}
+ ${cargo.timeout}
+
+
+ standalone
+ ${project.build.directory}/config-tomcat
+
+ ${tomcat.connector.http.port}
+ ${tomcat.connector.ajp.port}
+
+
+
+
+ org.camunda.bpm
+ camunda-engine-rest-jakarta
+ war
+ tomcat
+ http://localhost:${tomcat.connector.http.port}/engine-rest/engine/default/process-definition
+ ${cargo.deploy.timeout}
+
+ engine-rest
+
+
+
+ org.camunda.bpm.webapp
+ camunda-webapp-tomcat-jakarta
+ war
+ http://localhost:${tomcat.connector.http.port}/camunda
+ ${cargo.deploy.timeout}
+
+ camunda
+
+
+
+ org.camunda.bpm.example
+ camunda-example-invoice-jakarta
+ war
+
+ invoice
+
+
+
+
+
+
+
+
+
distro
diff --git a/qa/pom.xml b/qa/pom.xml
index 5626ca97a04..27203bdbc9c 100644
--- a/qa/pom.xml
+++ b/qa/pom.xml
@@ -45,6 +45,7 @@
48005
../tomcat-runtime/target/server/apache-tomcat-${version.tomcat}
+ ../tomcat9-runtime/target/server/apache-tomcat-${version.tomcat9}
@@ -124,6 +125,13 @@
+
+ tomcat9
+
+ tomcat9-runtime
+
+
+
tomcat
diff --git a/qa/tomcat-runtime/pom.xml b/qa/tomcat-runtime/pom.xml
index bcf373b54fb..7713242484d 100644
--- a/qa/tomcat-runtime/pom.xml
+++ b/qa/tomcat-runtime/pom.xml
@@ -40,12 +40,19 @@
jython
runtime
+
org.jruby
jruby-complete
runtime
+
+ org.slf4j
+ slf4j-jdk14
+ runtime
+
+
org.camunda.bpm.qa
camunda-qa-ensure-clean-db
diff --git a/qa/tomcat9-runtime/pom.xml b/qa/tomcat9-runtime/pom.xml
new file mode 100644
index 00000000000..0014d6c2b41
--- /dev/null
+++ b/qa/tomcat9-runtime/pom.xml
@@ -0,0 +1,288 @@
+
+ 4.0.0
+
+ camunda-qa-tomcat9-runtime
+ pom
+
+ Camunda Platform - QA Tomcat 9 Test Runtime
+
+
+ org.camunda.bpm.qa
+ camunda-qa
+ 7.22.0-SNAPSHOT
+
+
+
+
+
+ org.postgresql
+ postgresql
+ runtime
+
+
+
+ org.python
+ jython
+ runtime
+
+
+
+ org.jruby
+ jruby-complete
+ runtime
+
+
+
+ org.camunda.bpm.qa
+ camunda-qa-ensure-clean-db
+ ${project.version}
+ runtime
+
+
+
+
+
+
+ tomcat9
+
+
+
+
+
+ org.apache.tomcat
+ tomcat
+ ${version.tomcat9}
+ tar.gz
+
+
+
+ com.h2database
+ h2
+
+
+
+ org.mybatis
+ mybatis
+
+
+
+ com.fasterxml.uuid
+ java-uuid-generator
+
+
+
+ org.codehaus.groovy
+ groovy
+
+
+ org.codehaus.groovy
+ groovy-jsr223
+
+
+ org.codehaus.groovy
+ groovy-json
+
+
+ org.codehaus.groovy
+ groovy-xml
+
+
+ org.codehaus.groovy
+ groovy-templates
+
+
+
+ org.graalvm.js
+ js
+
+
+ org.graalvm.js
+ js-scriptengine
+
+
+
+ org.camunda.bpm
+ camunda-engine
+
+
+ org.springframework
+ spring-beans
+
+
+ org.springframework
+ spring-core
+
+
+
+
+
+ org.camunda.bpm.identity
+ camunda-identity-ldap
+
+
+
+ org.camunda.spin
+ camunda-spin-core
+ ${project.version}
+
+
+
+ org.camunda.bpm
+ camunda-engine-plugin-spin
+
+
+
+ org.camunda.spin
+ camunda-spin-dataformat-all
+ ${project.version}
+
+
+
+ org.camunda.connect
+ camunda-connect-core
+ ${project.version}
+
+
+
+ org.camunda.bpm
+ camunda-engine-plugin-connect
+
+
+
+ org.camunda.connect
+ camunda-connect-connectors-all
+
+
+ org.camunda.connect
+ camunda-connect-http-client
+
+
+ org.camunda.connect
+ camunda-connect-soap-http-client
+
+
+ ${project.version}
+
+
+
+ org.camunda.template-engines
+ camunda-template-engines-freemarker
+
+
+
+ org.slf4j
+ slf4j-jdk14
+
+
+
+
+
+
+
+ src/main
+ true
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ assemble
+ generate-resources
+
+ single
+
+
+
+ src/assembly.xml
+
+ true
+ false
+ target/
+ target/assembly/work
+ gnu
+ camunda-qa-tomcat9
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-antrun-plugin
+ 3.0.0
+
+
+ unpack-tar
+ generate-resources
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-libs
+ generate-resources
+
+ copy-dependencies
+
+ false
+
+ runtime
+ ${project.build.directory}/server/apache-tomcat-${version.tomcat9}/lib
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+
+
+ ${*}
+
+ false
+
+
+
+ copy-resources
+ generate-test-resources
+
+ resources
+
+
+ true
+ target/server/apache-tomcat-${version.tomcat9}
+
+
+
+
+
+
+
+
+
diff --git a/qa/tomcat9-runtime/src/assembly.xml b/qa/tomcat9-runtime/src/assembly.xml
new file mode 100644
index 00000000000..25ce059e0ab
--- /dev/null
+++ b/qa/tomcat9-runtime/src/assembly.xml
@@ -0,0 +1,120 @@
+
+
+
+ assemble
+
+
+ tar.gz
+
+
+ false
+
+
+
+ server/
+
+ org.apache.tomcat:tomcat:tar.gz
+
+
+
+ **/conf/server.xml
+
+
+ true
+
+
+ server/apache-tomcat-${version.tomcat9}/lib
+
+
+ com.h2database:h2:jar
+
+ org.camunda.bpm:camunda-engine:jar
+ org.camunda.bpm.identity:camunda-identity-ldap:jar
+
+ org.mybatis:mybatis:jar:*
+ com.fasterxml.uuid:java-uuid-generator:jar:*
+ joda-time:joda-time:jar:*
+ org.codehaus.groovy:groovy:jar:*
+ org.codehaus.groovy:groovy-jsr223:jar:*
+ org.codehaus.groovy:groovy-json:jar:*
+ org.codehaus.groovy:groovy-xml:jar:*
+ org.codehaus.groovy:groovy-templates:jar:*
+ org.graalvm.js:*
+ org.graalvm.regex:regex:jar:*
+ org.graalvm.truffle:truffle-api:jar:*
+ org.graalvm.sdk:graal-sdk:jar:*
+ com.ibm.icu:icu4j:jar:*
+ org.slf4j:slf4j-api:jar:*
+
+ org.camunda.bpm:camunda-engine-plugin-*:jar
+ org.camunda.spin:camunda-spin-core*:jar
+ org.camunda.spin:camunda-spin-dataformat-all*:jar
+ org.camunda.connect:*:jar
+ org.camunda.commons:*:jar
+
+ org.camunda.bpm.model:*:jar
+ org.camunda.bpm.dmn:*:jar
+ org.camunda.bpm.juel:*:jar
+
+ org.camunda.feel:*:jar
+
+ org.freemarker:*:jar
+ org.camunda.template-engines:*:jar
+
+
+
+
+ lib/
+
+
+ com.h2database:h2:jar
+
+ org.camunda.bpm:camunda-engine:jar
+ org.camunda.bpm.identity:camunda-identity-ldap:jar
+
+ org.mybatis:mybatis:jar:*
+ com.fasterxml.uuid:java-uuid-generator:jar:*
+ joda-time:joda-time:jar:*
+ org.codehaus.groovy:groovy:jar:*
+ org.codehaus.groovy:groovy-jsr223:jar:*
+ org.codehaus.groovy:groovy-json:jar:*
+ org.codehaus.groovy:groovy-xml:jar:*
+ org.codehaus.groovy:groovy-templates:jar:*
+ org.graalvm.js:*
+ org.graalvm.regex:regex:jar:*
+ org.graalvm.truffle:truffle-api:jar:*
+ org.graalvm.sdk:graal-sdk:jar:*
+ com.ibm.icu:icu4j:jar:*
+ org.slf4j:slf4j-api:jar:*
+
+ org.camunda.bpm:camunda-engine-plugin-*:jar
+ org.camunda.spin:camunda-spin-core*:jar
+ org.camunda.spin:camunda-spin-dataformat-all*:jar
+ org.camunda.connect:*:jar
+ org.camunda.commons:*:jar
+
+ org.camunda.bpm.model:*:jar
+
+ org.camunda.bpm.dmn:*:jar
+
+ org.camunda.feel:*:jar
+
+ org.freemarker:*:jar
+ org.camunda.template-engines:*:jar
+
+
+
+
+
+
+
+ server/apache-tomcat-${version.tomcat9}/conf/
+
+
+
+
+ server/apache-tomcat-${version.tomcat9}/conf/
+
+
+
diff --git a/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml b/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml
new file mode 100644
index 00000000000..a95ae65bec5
--- /dev/null
+++ b/qa/tomcat9-runtime/src/main/conf/bpm-platform.xml
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+ default
+ org.camunda.bpm.engine.impl.cfg.StandaloneProcessEngineConfiguration
+ java:jdbc/ProcessEngine
+
+
+ full
+ true
+ true
+ true
+ 00:01
+
+
+
+
+
+ org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin
+
+
+
+
+ org.camunda.spin.plugin.impl.SpinProcessEnginePlugin
+
+
+
+
+ org.camunda.connect.plugin.impl.ConnectProcessEnginePlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qa/tomcat9-runtime/src/main/conf/context.xml b/qa/tomcat9-runtime/src/main/conf/context.xml
new file mode 100644
index 00000000000..d84de5879f6
--- /dev/null
+++ b/qa/tomcat9-runtime/src/main/conf/context.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ WEB-INF/web.xml
+ ${catalina.base}/conf/web.xml
+
+
+
+
+
+
+
+
diff --git a/qa/tomcat9-runtime/src/main/conf/server.xml b/qa/tomcat9-runtime/src/main/conf/server.xml
new file mode 100644
index 00000000000..40f1413672b
--- /dev/null
+++ b/qa/tomcat9-runtime/src/main/conf/server.xml
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml b/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml
new file mode 100644
index 00000000000..b549144bd5e
--- /dev/null
+++ b/qa/tomcat9-runtime/src/main/conf/tomcat-users.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/qa/tomcat9-runtime/src/tomcat/setenv.bat b/qa/tomcat9-runtime/src/tomcat/setenv.bat
new file mode 100644
index 00000000000..80d8c983ae8
--- /dev/null
+++ b/qa/tomcat9-runtime/src/tomcat/setenv.bat
@@ -0,0 +1 @@
+set CATALINA_OPTS=-Xmx512m
diff --git a/qa/tomcat9-runtime/src/tomcat/setenv.sh b/qa/tomcat9-runtime/src/tomcat/setenv.sh
new file mode 100644
index 00000000000..86f2b167168
--- /dev/null
+++ b/qa/tomcat9-runtime/src/tomcat/setenv.sh
@@ -0,0 +1 @@
+export CATALINA_OPTS="-Xmx512m"
diff --git a/webapps/assembly-jakarta/pom.xml b/webapps/assembly-jakarta/pom.xml
index a64513fd829..c684592707b 100644
--- a/webapps/assembly-jakarta/pom.xml
+++ b/webapps/assembly-jakarta/pom.xml
@@ -18,7 +18,7 @@
${project.build.directory}/generated-resources/jakarta-webapp
${project.build.directory}/generated-resources/jakarta-runtime
- 6.2.3.Final
+ 6.2.8.Final
11.0.14
3.1.1