feature: server: spring-boot upgrade to 4.0.6#8137
Merged
funky-eyes merged 40 commits intoJun 25, 2026
Merged
Conversation
…ix objectMapper.readValue
…ix objectMapper.readTree
…ix objectMapper.writeValueAsString
# Conflicts: # changes/en-us/2.x.md # changes/zh-cn/2.x.md # console/pom.xml # namingserver/pom.xml
# Conflicts: # changes/en-us/2.x.md # changes/zh-cn/2.x.md
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## 2.x #8137 +/- ##
============================================
+ Coverage 72.69% 72.83% +0.14%
- Complexity 879 1141 +262
============================================
Files 1327 1151 -176
Lines 50853 42272 -8581
Branches 6071 5045 -1026
============================================
- Hits 36967 30790 -6177
+ Misses 10898 9007 -1891
+ Partials 2988 2475 -513 🚀 New features to boost your workflow:
|
This was referenced Jun 9, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR upgrades the server module’s Spring Boot/Spring Framework baseline (targeting Spring Boot 4.0.6 / Spring Framework 7.0.7) and updates impacted server/test code to match new package names and dependency APIs (notably Jakarta annotations and Jedis API return types).
Changes:
- Bump Spring Boot/Spring Framework versions for
serverand adjust Spring package imports accordingly. - Migrate
javax.annotation.*usage tojakarta.annotation.*across server code and tests. - Update Redis/Jedis-related code/tests for newer Jedis API return types and update CI to avoid building
serveron Java 8.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| server/src/test/java/org/apache/seata/server/storage/redis/store/RedisTransactionStoreManagerTest.java | Adjust Jedis zset query result type to match updated Jedis API. |
| server/src/test/java/org/apache/seata/server/storage/redis/JedisPooledFactoryTest.java | Update pool abstraction usage to Pool<Jedis> for newer Jedis. |
| server/src/test/java/org/apache/seata/server/session/redis/RedisQueryConsolTest.java | Switch @Resource import from javax to jakarta. |
| server/src/test/java/org/apache/seata/server/session/FileSessionManagerTest.java | Switch @Resource import from javax to jakarta. |
| server/src/test/java/org/apache/seata/server/logging/AppenderTest.java | Update logging test configuration approach and SLF4J factory access. |
| server/src/test/java/org/apache/seata/server/lock/LockManagerTest.java | Switch @Resource import from javax to jakarta. |
| server/src/test/java/org/apache/seata/server/LoaderConfTest.java | Minor assertion style adjustment for JUnit usage. |
| server/src/test/java/org/apache/seata/server/instance/RaftServerInstanceStrategyTest.java | Update ServerProperties import path for new Spring Boot packaging. |
| server/src/test/java/org/apache/seata/server/console/impl/db/GlobalSessionDBServiceImplTest.java | Replace @MockBean with newer Mockito test override annotation. |
| server/src/test/java/org/apache/seata/server/console/impl/db/GlobalLockDBServiceImplTest.java | Replace @MockBean with newer Mockito test override annotation. |
| server/src/test/java/org/apache/seata/server/console/impl/db/BranchSessionDBServiceImplTest.java | Replace @MockBean with newer Mockito test override annotation. |
| server/src/main/resources/logback-spring.xml | Add dedicated Kafka logger configuration to reduce noise/control level. |
| server/src/main/java/org/apache/seata/server/storage/redis/store/RedisTransactionStoreManager.java | Adjust Jedis zset query return type to match updated Jedis API. |
| server/src/main/java/org/apache/seata/server/storage/redis/JedisPooledFactory.java | Generalize pool type to Pool<Jedis> (Jedis API alignment). |
| server/src/main/java/org/apache/seata/server/ServerRunner.java | Update Jakarta annotations and Spring Boot web server event import path. |
| server/src/main/java/org/apache/seata/server/Server.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/instance/RaftServerInstanceStrategy.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/instance/AbstractSeataInstanceStrategy.java | Switch lifecycle/resource annotations to jakarta + update ServerProperties import. |
| server/src/main/java/org/apache/seata/server/controller/ClusterController.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/console/impl/db/GlobalSessionDBServiceImpl.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/console/controller/GlobalSessionController.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/console/controller/GlobalLockController.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/console/controller/BranchSessionController.java | Switch @Resource import from javax to jakarta. |
| server/src/main/java/org/apache/seata/server/config/ServerConfig.java | Update ServerProperties import path for new Spring Boot packaging. |
| server/src/main/java/org/apache/seata/server/cluster/raft/context/SeataClusterContext.java | Switch nullability annotations to jakarta.annotation.*. |
| server/src/main/java/org/apache/seata/server/cluster/manager/ClusterWatcherManager.java | Switch @PostConstruct import from javax to jakarta. |
| server/pom.xml | Upgrade Spring Boot/Spring Framework versions and adjust dependencies. |
| changes/zh-cn/2.x.md | Register the server Spring Boot upgrade in the 2.x changelog and add contributor. |
| changes/en-us/2.x.md | Register the server Spring Boot upgrade in the 2.x changelog and add contributor. |
| .github/workflows/build.yml | Skip building/testing server on Java 8 in CI matrix. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
55
to
+57
| if (appender.getName().equals("KAFKA")) { | ||
| KafkaAppender<ILoggingEvent> kafkaAppender = (KafkaAppender<ILoggingEvent>) appender; | ||
| kafkaFound = true; |
funky-eyes
reviewed
Jun 25, 2026
- Move server, test-suite/test-new-version modules to JDK17Plus profile in root pom.xml, activated automatically on JDK 17+ - Move apm-seata-skywalking-plugin to JDK17Plus profile in extensions/apm/pom.xml - Remove manual module exclusions in CI build.yml for Java 8, since Maven profiles now handle this automatically
…s profile - test-suite/test-new-version depends on server module which requires JDK 17+, keeping it in include-test-modules would cause build failure on JDK < 17 - The module is already declared in JDK17Plus profile for JDK 17+ activation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://github.com/redis/jedis/blob/master/docs/migration-guides/v3-to-v4.md
Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?
fixes #8053
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews