Skip to content

Upgrade to Spring Boot 3.4.5 and Java 21#17

Open
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1777490969-upgrade-spring-boot-3
Open

Upgrade to Spring Boot 3.4.5 and Java 21#17
devin-ai-integration[bot] wants to merge 1 commit into
masterfrom
devin/1777490969-upgrade-spring-boot-3

Conversation

@devin-ai-integration
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot commented Apr 29, 2026

Summary

Upgrades the project from Spring Boot 2.0.2 / Java 8 to Spring Boot 3.4.5 / Java 21, along with build tool and code fixes required for compatibility.

Changes

Build configuration:

  • pom.xml: Spring Boot parent 2.0.2.RELEASE → 3.4.5, Java 1.8 → 21, removed spring-boot-properties-migrator dependency, fixed packaging from pom to jar
  • build.gradle: Plugin version 2.0.2.RELEASE → 3.4.5, Java 1.8 → 21, compile/testCompileimplementation/testImplementation, added spring-boot-starter-jdbc and h2 dependencies
  • Gradle wrapper: 4.6 → 8.12
  • Maven wrapper: 3.3.9 → 3.9.9

Code fixes:

  • Fixed H2 SQL syntax: DROP TABLE customers IF EXISTSDROP TABLE IF EXISTS customers (H2 2.x compatibility)
  • Removed defunct REST API calls to gturnquist-quoters.cfapps.io (URL no longer available)
  • Removed unused RestTemplate bean, CommandLineRunner run bean, and related imports (Quote, RestTemplateBuilder, RestTemplate, Bean)
  • JDBC CommandLineRunner via run(String... args) method retained

Documentation:

  • Updated README with Java 21 / Spring Boot 3.4.5 requirements and build instructions

Review & Testing Checklist for Human

  • Run ./mvnw clean package — verify compilation succeeds with Java 21
  • Start app with java -jar target/gs-spring-boot-0.1.0.jar and verify endpoints: /, /topic, /datetime, /topic/string/operation, /topic/file/operation
  • Verify H2 database initialization (customer table creation and queries logged on startup)

Notes

  • The pom.xml packaging was changed from pom to jar — the original pom packaging prevented Maven from compiling sources. This was likely a pre-existing issue.
  • All endpoints tested locally and working: /, /topic, /datetime, /topic/string/operation, /topic/file/operation

Link to Devin session: https://app.devin.ai/sessions/3bbe8ad46c3a4034a0678d19dc387d03
Requested by: @jerryoliphant-cog


Devin Review

Status Commit
⚪ Not started

💡 Connect your GitHub account to enable automatic code reviews.

Open in Devin Review (Staging)

- Update Spring Boot parent from 2.0.2.RELEASE to 3.4.5
- Update Java version from 1.8 to 21
- Remove spring-boot-properties-migrator dependency (no longer needed)
- Fix packaging from pom to jar for proper compilation
- Update build.gradle: plugin version, Java 21, compile->implementation
- Update Gradle wrapper from 4.6 to 8.12
- Update Maven wrapper from 3.3.9 to 3.9.9
- Fix H2 SQL syntax: DROP TABLE IF EXISTS customers
- Remove defunct REST API calls (gturnquist-quoters.cfapps.io)
- Remove unused RestTemplate, Quote imports and beans
- Update README with Java 21 and Spring Boot 3.4.5 requirements

Co-Authored-By: Jerry Oliphant <jerry.oliphant@cognition.ai>
@devin-ai-integration
Copy link
Copy Markdown
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

@devin-ai-integration
Copy link
Copy Markdown
Author

Testing Results

Built from source with Maven + Java 21, started the jar, verified all REST endpoints via curl. All 9 tests passed.

Test Results (9/9 passed)
Test Result
Maven build (./mvnw clean package) passed — BUILD SUCCESS, exit 0
App startup (H2 init, no errors) passed — tables created, customers inserted, no ERROR logs
GET / passed — {"id":1,"content":"Hello, World!"}
GET /topic passed — 3 topics with correct ids and fields
POST + GET /topic/test passed — created and retrieved topic
GET /datetime passed — datetime, leap year, timezone all present
GET /topic/string/operation passed — join and filter results correct
GET /topic/file/operation passed — file listing, find, and read all work
GET /topic/sort passed — alphabetical order (java, javascript, spring)
Startup log verification
Assertion Result
Started Application present 1 match
Creating tables present 1 match
Inserting customer record for John Woo present 1 match
Querying for customer records present 1 match
Connection refused absent 0 matches
gturnquist-quoters absent 0 matches
ERROR absent 0 matches

Devin session

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.

0 participants