Skip to content

Conversation

@pacphi
Copy link
Owner

@pacphi pacphi commented Jan 4, 2026

Summary

This PR migrates the project to Spring Boot 4.0.1 and Spring AI 2.0.0-M1, addressing breaking changes in Spring Boot 4.x APIs.

Changes

Build Configuration Updates

  • Spring Boot: 4.0.0 → 4.0.1
  • Spring AI: 1.0.0 → 2.0.0-M1
  • Added Spring milestone repository for Spring AI 2.0.0-M1 artifacts
  • Changed Java toolchain configuration to sourceCompatibility/targetCompatibility

Code Migration Changes

Http.java - RestClient Configuration

Simplified RestClient.Builder configuration for Spring Boot 4.x compatibility:

// Updated from RestClientCustomizer to direct RestClient.Builder bean
@Bean
public RestClient.Builder restClientBuilder() {
    SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
    factory.setConnectTimeout(Duration.ofMinutes(10));
    factory.setReadTimeout(Duration.ofMinutes(10));
    
    return RestClient.builder()
            .requestFactory(factory)
            .defaultHeader(HttpHeaders.ACCEPT_ENCODING, "gzip, deflate");
}

MultiChat.java - RetryTemplate Import

Changed RetryTemplate import path (Spring AI 2.0 relocation):

// Before
import org.springframework.retry.support.RetryTemplate;

// After  
import org.springframework.core.retry.RetryTemplate;

Settings Updates

  • Removed snapshot repository from settings.gradle (using milestone only for Spring AI 2.0.0-M1)

Validation

  • ✅ Build: PASSED (./gradlew clean build)
  • ✅ All compilation issues resolved
  • ✅ No test failures (no tests in source)

Test Plan

  • Run full build verification
  • Test OpenRouter API integration
  • Verify multi-model chat functionality
  • Test HTTP client timeout configuration
  • Validate actuator endpoints

Files Modified

  • build.gradle - Version updates
  • settings.gradle - Repository configuration
  • src/main/java/me/pacphi/config/Http.java - RestClient configuration
  • src/main/java/me/pacphi/config/MultiChat.java - RetryTemplate import

🤖 Generated with Claude Code

Build Configuration Updates:
- Updated Spring Boot from 4.0.0 to 4.0.1
- Updated Spring AI from 1.0.0 to 2.0.0-M1
- Added Spring milestone repository for Spring AI 2.0.0-M1 artifacts
- Changed Java toolchain configuration to sourceCompatibility/targetCompatibility

Code Migration Changes:
- Updated Http.java: Simplified RestClient.Builder configuration for Spring Boot 4.x compatibility
- Updated MultiChat.java: Changed RetryTemplate import from org.springframework.retry.support to org.springframework.core.retry
- Removed snapshot repository from settings.gradle (now using milestone only)

Validation:
- Build: PASSED (./gradlew clean build)
- All compilation issues resolved
- No test failures (no tests in source)

Generated with Claude Code - Spring Modernization Marketplace

Co-Authored-By: Claude Sonnet 4.5 (1M context) <[email protected]>
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.

2 participants