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]

Reply via email to