Addressing Manual Migration Requirements in Spring Boot Upgrades (Tanzu Spring App Advisor)
search cancel

Addressing Manual Migration Requirements in Spring Boot Upgrades (Tanzu Spring App Advisor)

book

Article ID: 451003

calendar_today

Updated On:

Products

VMware Tanzu Platform Spring

Issue/Introduction

During major version upgrades (e.g., Spring Boot 2.2 to 2.7) within Tanzu Spring App Advisor, upgrade plans may cease, or manual intervention may become necessary to ensure code compatibility. Automation gaps exist regarding specific Java API refactoring and configuration standards.

Environment

Tanzu Spring App Advisor 1.6.

Cause

While Tanzu Spring App Advisor automates dependency versioning, automated recipes for specific Java API refactoring (such as Project Reactor modifications) and configuration file standards are not always available out-of-the-box. This necessitates manual adjustments to finalize the upgrade process.

 

Resolution

Apply the following manual steps to resolve common migration blockers. These changes are intended to bridge the gap until automated recipes are available.

  • Configuration Updates: Rename bootstrap.properties to application.properties to comply with Spring Boot 2.7 configuration standards.
  • Code-Level Adaptations: For Project Reactor compatibility, surround legacy retry logic with the Retry.withThrowable adapter. Update the implementation as follows:
    import reactor.util.retry.Retry;
    ...
    .retryWhen(Retry.withThrowable(existingExtraRetry))
    

     

  • Automation Strategy: To avoid repeated manual efforts, create custom OpenRewrite recipes for these code adaptations and package them into a single composite recipe JAR. For detailed instructions on authoring, packaging, and referencing composite recipes in Application Advisor without duplicating recipe lists, refer to Adding Custom Recipes to Upgrade Mappings Without Duplicating Recipe Lists.

 

This issue is targeted to be fixed in release 2.0.