-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Tomcat 10 #2471
Comments
This comment was imported from JIRA and written by user vrJNmVd What is this name?This pseudonym name was generated based on the user name in JIRA to protect the personal data of our JIRA users. You can use this identifier to search for issues by the same reporter.Are there any plans to support Tomcat 10 / Servlet 5.0 in the near future? |
With Camunda 7.20.0 support for Spring Boot 2.x (https://docs.camunda.org/enterprise/announcement/#camunda-platform-7-20) ends. Spring Boot 3.x uses the jakarte namespace (Java EE 10) which does not run on Tomcat 9.x. But there is still no support for Tomcat 10 (https://docs.camunda.org/manual/7.20/introduction/supported-environments/#container-managed-process-engine-and-camunda-cockpit-tasklist-admin 1). How can I run Camunda 7.20.0 with Spring Boot 3.x if I am forced to use Tomcat? Is there a solution for this setup? This comment was copied from the forum (https://forum.camunda.io/t/tomcat-10-x/33031/3?u=hizr) |
Hi @hizr, Our Spring Boot 3 starters come with embedded Tomcat and those use Tomcat 10. Note that this is also the only supported deployment scenario for our Spring Boot starters. We are not targeting to support Spring Boot 3 deployments on standalone Tomcats anytime in the future. The docs that you reference are for the shared engine installations where we currently only support Tomcat 9 (and may in the future move to Tomcat 10). What you can do in any case is of course to just see if your setup works with Tomcat 10 without being officially supported, it might well be. I understand that this is also what you have been doing with Tomcat 9/Spring Boot 2 up to this point. |
KickoffContext
Business ValueThe supported environments of
Customer RequirementsAs a user, i want to be able to download the distribution of Camunda 7 which is based on Backwards compatibility
We can still prompt our users to the official source for migrating Tomcat 9 to Tomcat 10.
Technical Solution ProposalCurrently, the
Changes RequiredThe zero section is a prerequisite before moving into the manipulation of the tomcat distribution parts which bring the separate parts, assemble them and output the different distributions.
engine-rest needs to support a jakarta configuration for Tomcat |
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Progress so far with Tomcat 10 ✔Engine Integration Tests Problems
Webapp Integration Test Problems
|
Latest Investigation findings
Next steps:
|
Investigation Update ✔Debugging
Problem: |
Investigation Update ✔The above change fixed the |
Investigation Update ✔
Solution: Removed |
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Investigation Update
|
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Investigation UpdateTomcat 10
Tomcat 9
Assumption:
|
Investigation Update ✔The above issue happens only upon debugging. When executing the
The ouput is the following:
Tomcat does not start. Why: The issue was caused by |
Investigation Update
|
Investigation UpdateContext: :
Why: The issue is related to an Arquillian Regression issue;
Exception StackError while evaluating expression: ${timerExpressionBean.getTimerDuration()}. Cause: WELD-001524: Unable to load proxy class for bean Producer Method [ProcessEngine] with qualifiers [@Default @Any @Named] declared as [[BackedAnnotatedMethod] @Produces @Named @ApplicationScoped public org.camunda.bpm.engine.cdi.impl.ProcessEngineServicesProducer.processEngine()] with class class java.lang.Object
Tried the following:
Update 5/05/2024: Tried to investigate the possibility there is a reflection conflict between the
|
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Investigation Update ✔Problem:
|
I raised https://issues.redhat.com/browse/ARQ-2234 in the Arquillian issue tracker to investigate the following exception when accessing beans in Camunda 7: Exception stack trace
I created the following minimal reproducible example: tasso94/arquillian-container-tomcat@fedc88 To run it, clone the repo, checkout branch |
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Investigation UpdateRemaining failing tests assessment:
The rest of |
Decision Thread UpdateThe Backport to 7.21 has been approved by Product management. |
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Description: This commit can be broken down into the following changes: - Use version.tomcat9 for tomcat 9 and version.tomcat property for tomcat 10 respectively - Add tomcat assembly config to camunda-engine-rest-jakarta - Add new module `camunda-tomcat-assembly-jakarta` which produces a tomcat 10 configured with the jakarta namespace - Add configuration to produce a tomcat webapp based on the jakarta namespace - Add configuration to tomcat distro module to output both tomcat 9 & 10 distributions Related-to: #2471
Highlights - The Tomcat distro outputs one tar for Tomcat 10; Tomcat 9 is not an output anymore - The CI continues to support Tomcat 9 by using the respective tomcat9 profile - The QA Module assembles Tomcat 9 and uses it for testing (webapp,engine-integration-test) using the tomcat9 profile Other Noteable Points - engine-rest supports a jakarta configuration for Tomcat CI - The commit adds two new Stages to the Main Pipeline for Tomcat 10 integration tests and webapps Related-to: #2471
Highlights * The Tomcat distribution now is based on Tomcat 10 (10.1.25) * Tomcat 10 works with the Jakarta namespace Other Noteable Points * engine-rest supports a Jakarta configuration for Tomcat CI * The commit adds two new Stages to the Main Pipeline for Tomcat 10 integration-tests and webapps Related-to: #4387 Parent-ticket: * #2471
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
Co-authored-by: tasso94 Co-authored-by: petros.savvidis Related-to: camunda/camunda-bpm-platform#4391 Parent-ticket: camunda/camunda-bpm-platform#2471
UpdateAfter merging the last PR for updating |
Update
Assigning the ticket to the QA for manual testing. |
Hi @psavidis, I changed the tag |
Tested on:
And no regression was found, nice job @psavidis ! 🚀 |
Feature is shipped with the previous alpha, so I will add the version tag. |
This issue was imported from JIRA:
User Story (Required on creation):
Tomcat 10 was released in February 2021: https://tomcat.apache.org/download-10.cgi. Tomcat is a popular environment among our users.
Functional Requirements (Required before implementation):
Technical Requirements (Required before implementation):
Limitations of Scope (Optional):
Hints (Optional):
Tasks
weld-servlet-shaded
lib to the server libs #4464tomcat9-runtime
to distro profile #4479Links:
Dev2QA handover
In order to test the Support of
Tomcat 10
, the QA can download thecamunda-bpm-tomcat-7.22.0.zip
distro and use theinvoice
example (or any other of your choice) to test all flows such as cockpit, tasklist, deployment, start process instances etc, with a db of their choice.The text was updated successfully, but these errors were encountered: