Skip to content

Conversation

@devin-ai-integration
Copy link

@devin-ai-integration devin-ai-integration bot commented Jan 13, 2026

Summary

This PR migrates the Spring Boot banking application from Java 17 to Java 22, covering Phases 1-4 of the migration plan. The changes span build configuration, Docker images, CI/CD documentation, and Kubernetes deployment.

pom.xml changes:

  • Java version: 17 → 22
  • Spring Boot: 3.3.3 → 3.3.5
  • Maven compiler plugin: 3.8.0 → 3.11.0 (source/target: 1.8 → 22)
  • MySQL connector: mysql-connector-java 8.0.33 → mysql-connector-j 9.0.0 (new artifact name)

Dockerfile changes:

  • Build stage: maven:3.8.3-openjdk-17maven:3.9-eclipse-temurin-22
  • Runtime stage: openjdk:17-alpineeclipse-temurin:22-jre-alpine

Documentation & Deployment:

  • README.md: Updated Jenkins installation to use openjdk-21-jre (see note below)
  • Kubernetes deployment: Updated image tag to java22 for staging

Updates since last revision

  • Fixed Jenkins JRE version: Changed from openjdk-22-jre to openjdk-21-jre because openjdk-22-jre is not available in Ubuntu repositories. Available versions are 8, 11, 17, 18, 21, and 25. The application itself still runs on Java 22 via Docker containers.

Review & Testing Checklist for Human

  • Verify Docker images maven:3.9-eclipse-temurin-22 and eclipse-temurin:22-jre-alpine exist on Docker Hub (verified by Devin, but double-check)
  • Verify MySQL connector-j 9.0.0 is compatible with the application's database operations (artifact name changed from mysql-connector-java)
  • Confirm openjdk-21-jre package installs correctly on target Ubuntu version for Jenkins
  • After CI builds the Docker image, deploy to staging and verify the application starts successfully
  • Test database connectivity and core banking operations in staging environment

Recommended test plan:

  1. Wait for CI to build the Docker image with Java 22
  2. Deploy to staging EKS cluster
  3. Verify application health endpoint responds
  4. Test login and transaction functionality
  5. Check application logs for any Java 22 compatibility warnings

Notes

  • The Jenkinsfile requires no changes since it uses Docker for builds (which will use the updated Dockerfile with Java 22 images).
  • Important distinction: The Jenkins server runs on Java 21 (host machine), while the banking application runs on Java 22 (inside Docker containers). This is intentional and correct.

Link to Devin run: https://app.devin.ai/sessions/8ea19666be8546bab54a3e13aa928d45
Requested by: Satwik Bebortha (@satwik-cog)

Phase 1-4 of Java 22 Migration:

pom.xml changes:
- Update Java version from 17 to 22
- Update Spring Boot from 3.3.3 to 3.3.5
- Update Maven compiler plugin from 3.8.0 to 3.11.0
- Update source/target from 1.8 to 22
- Update MySQL connector from mysql-connector-java 8.0.33 to mysql-connector-j 9.0.0

Dockerfile changes:
- Update build stage from maven:3.8.3-openjdk-17 to maven:3.9-eclipse-temurin-22
- Update runtime stage from openjdk:17-alpine to eclipse-temurin:22-jre-alpine

README.md changes:
- Update Jenkins installation instructions from openjdk-17-jre to openjdk-22-jre

Kubernetes changes:
- Update bankapp-deployment.yml image tag to java22 for staging deployment

Co-Authored-By: Satwik Bebortha <satwik.bebortha@cognition.ai>
@devin-ai-integration
Copy link
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

openjdk-22-jre is not available in Ubuntu repositories.
Available versions are: 8, 11, 17, 18, 21, 25.
Using openjdk-21-jre as the closest LTS version.

Note: The application itself still runs on Java 22 via Docker
(eclipse-temurin:22-jre-alpine), this only affects the Jenkins
server installation.

Co-Authored-By: Satwik Bebortha <satwik.bebortha@cognition.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant