Skip to content
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

Add support for Tomcat 10.0 and 10.1 #1401

Closed
Tracked by #1464 ...
tfr42 opened this issue Sep 22, 2022 · 9 comments · Fixed by #1627
Closed
Tracked by #1464 ...

Add support for Tomcat 10.0 and 10.1 #1401

tfr42 opened this issue Sep 22, 2022 · 9 comments · Fixed by #1627
Assignees
Labels
contributions welcome asking for contribution (time and money sponsor) dependencies Pull requests that update a dependency (library)
Milestone

Comments

@tfr42
Copy link
Member

tfr42 commented Sep 22, 2022

To support Servlet API version 5.0 (TC 10.0) and 6.0 (TC 10.1) it is required to change the javax.servlet.* imports in the code by jakarta.servlet.*.

@tfr42 tfr42 added contributions welcome asking for contribution (time and money sponsor) dependencies Pull requests that update a dependency (library) labels Sep 22, 2022
@tfr42 tfr42 added this to the 3.6 milestone Feb 22, 2023
@tfr42
Copy link
Member Author

tfr42 commented Jul 11, 2023

The Tomcat Migration Guide describes the requirements which need to be met. There is the Tomcat Migration Tool for Jakarta EE to support the migration of an existing WAR file. How to run the tool is document in here.

@tfr42
Copy link
Member Author

tfr42 commented Aug 24, 2023

Steps for migrating to TC 10.x using Apache Maven 3.9+ with OpenJDK 17:

  • update Maven plugins to run under Java 17 - done for main
  • update project dependencies that allow successfull compile and test execution under Java 17 - done for main
  • build WAR file with mvn clean install
  • follow Tomcat Migration Guide and run Migration Tool against deegree WAR file - java -jar jakartaee-migration-1.0.7-shaded.jar $PWD/deegree-services/deegree-webservices/target/deegree-webservices-${DEEGREE_VERSION}.war $PWD/deegree-services/deegree-webservices/target/deegree-webservices.war
  • deploy WAR file to docker container running Tomcat 10.x with JDK 17: docker run -it --rm -v "$PWD"/deegree-services/deegree-webservices/target/deegree-webservices.war:/usr/local/tomcat/webapps/deegree-webservices.war -v "$HOME"/.deegree:/root/.deegree -p 8080:8080 tomcat:10.1.12-jdk17

@tfr42
Copy link
Member Author

tfr42 commented Aug 26, 2023

A docker image with deegree webservices 3.5.2 on Tomcat 10.1 with JDK 17 is available for testing on hub.docker.com:
docker pull tfr42/deegree:3.5-jdk17-tomcat10

@julianzz98
Copy link
Contributor

The docker image was successfully tested locally.

The tests included:

  • Basic functionality of WFS & WMS
  • Validation of all examples via the console
  • Database connection + data showcase via WFS

@tfr42
Copy link
Member Author

tfr42 commented Jan 9, 2024

Source code migration to jakarta.* with:

 mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
    -Drewrite.recipeArtifactCoordinates=org.openrewrite.recipe:rewrite-migrate-java:LATEST \
    -Drewrite.activeRecipes=org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta

@tfr42
Copy link
Member Author

tfr42 commented Jan 11, 2024

The PR #1627 contains the upgrade to Servlet API 6.0 and Faces 4.0 as well as upgrade of #1625.

tfr42 added a commit to lat-lon/deegree3 that referenced this issue Jan 25, 2024
tfr42 added a commit to lat-lon/deegree3 that referenced this issue Jan 25, 2024
@tfr42
Copy link
Member Author

tfr42 commented Jan 26, 2024

Part of the migration to Servlet API 6.0 is a update of the Jetty maven plugin required. The maven plugin is used to run the integration-tests in a servlet container. The plugin has the following constraints:

@tfr42
Copy link
Member Author

tfr42 commented Feb 14, 2024

To use Faces 4.0 with CDI on Tomcat 10.1 it is required to enable CDI, see https://tomcat.apache.org/tomcat-10.1-doc/cdi.html for more information.

@tfr42
Copy link
Member Author

tfr42 commented Jun 13, 2024

The support of Servlet API version 5.0 (TC 10.0) and 6.0 (TC 10.1) was fully implemented with version 3.6 of deegree webservices, see https://github.com/deegree/deegree3/wiki/End-of-Life-and-Support-Matrix for more information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contributions welcome asking for contribution (time and money sponsor) dependencies Pull requests that update a dependency (library)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants