SavitarC opened a new pull request, #16394: URL: https://github.com/apache/dubbo/pull/16394
## What changed - add a Java 17 `dubbo-rest-spring6` artifact backed by Spring 6 and the Jakarta Servlet API - preserve the legacy `dubbo-rest-spring` artifact and gate its two servlet-sensitive extensions on the javax Servlet API - keep the existing REST Spring public FQCNs and SPI registrations in the parallel artifact - register the new artifact in the JDK 17/release reactors, artifact list, and Dubbo BOM - add API-parity, servlet-namespace, behavior, and cross-artifact isolation tests ## Why `dubbo-rest-spring` is compiled against Spring 5 and `javax.servlet`. Spring Framework 6 changed the relevant MVC method descriptors to `jakarta.servlet`, so the legacy adapter cannot be compiled or used on that path without breaking Spring 5 compatibility. A separate artifact keeps the existing Spring 5 contract intact while providing a Jakarta-compatible integration for Spring Framework 6+. Fixes #16387. ## User impact Spring 5 users continue using `dubbo-rest-spring`. Spring Framework 6+ users can select `dubbo-rest-spring6`. The two artifacts intentionally expose the same extension FQCNs and must not be placed on the same runtime classpath. ## Validation - JDK 17, Spring Framework 6.2.18 / Spring Boot 3.5.14: 55-module reactor passed; 17 new REST adapter tests passed - JDK 17: `RestSpringArtifactIsolationTest` and `FileTest` passed (10 tests) - JDK 8, Spring 5 legacy path: 54-module reactor passed; `RestProtocolTest` passed (46 tests) - `git diff --check origin/3.3...HEAD` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
