[
https://issues.apache.org/jira/browse/IGNITE-22096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nusrat Shakarov resolved IGNITE-22096.
--------------------------------------
Resolution: Fixed
> Spring 6 support for ignite spring extensions
> ---------------------------------------------
>
> Key: IGNITE-22096
> URL: https://issues.apache.org/jira/browse/IGNITE-22096
> Project: Ignite
> Issue Type: Epic
> Reporter: Nusrat Shakarov
> Assignee: Nusrat Shakarov
> Priority: Major
>
> This epic is about spring 6 support for ignite extensions.
> Spring Boot 3 and Spring 6 users may have difficulties using ignite spring
> extensions in their applications because extensions are based on Spring 5.
> Most of them should work fine in Spring 6 apps, but we may find ourselves on
> thin ice.
> For some spring modules like spring-data-commons and spring-session-core,
> Spring has finished spring 5 support in Nov 2023. For other modules(and
> spring-core) support ends in Aug 2024.
> The proposal is to upgrade spring-based ignite extensions to spring 6. The
> upgrade will affect modules which currently don't work in the spring 6
> environment(basically, where the API is broken).
> Taking into consideration that spring 6 comes with JDK 17+ baseline the plan
> is the following:
> # Add ignite extensions build on TC with JDK 17. JDK 8 build still will be
> available. The project will support both options, spring 6 modules will be
> enabled only when JDK 17 is used. The main build will be with JDK 17 because
> it covers all modules.
> # Use maven.compiler.release=8 for parent pom. We should use the lowest
> target possible.
> # If the spring module don't work in spring 6 env, upgrade it with spring 6
> dependencies and set maven.compiler.release=17.
> # Otherwise, make sure that spring 6 is covered with compatibility tests(we
> have such at least for cache-ext and tx-ext). If spring 6 is added to the
> compatibility test, the module should be built only with JDK 17, otherwise,
> tests will fail. But maven.compiler.release can be 8.
> # For updated modules use a new versioning approach. Use the same major and
> minor for spring extension as the corresponding spring module is used. For
> example, If spring-session-core is updated to 3.2.2, the spring-session-ext
> version should be 3.2.x, where x is the revision number.
> # If we update the module to spring 6 and we need a fix for the previous
> module version(which is based on spring 5), we can apply the fix to the
> master first, create a release branch(checkout from the previous spring 5
> release) and cherry-pick fix.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)