Migrate from Jakarta EE 8 to Jakarta EE 9#27976
Conversation
32089fa to
0ebf477
Compare
54cd961 to
38f7e10
Compare
|
Thank you, I need more time to check it. |
linghengqian
left a comment
There was a problem hiding this comment.
- This PR will be converted to a draft. I'm still not sure if this PR should be merged before Spring Boot OSS 2.x reaches end of OSS support, unless the original issue gets broader feedback.
|
There hasn't been any activity on this pull request recently, and in order to prioritize active work, it has been marked as stale. |
38f7e10 to
45b1c32
Compare
45b1c32 to
6e85b0e
Compare
linghengqian
left a comment
There was a problem hiding this comment.
- @terrymanu Since web frameworks like Quarkus have started to actively exclude older Java EE 8 dependencies, can we merge this PR at the current milestone? See #26041 (comment) .
- Spring boot 2.x will stop OSS support on 2023/11/24, and the next release of shardingsphere will be next month.
6e85b0e to
949565f
Compare
linghengqian
left a comment
There was a problem hiding this comment.
So for this current controversial PR, I assume there are two steps that need to be taken care of first - this will align with what Narayana was doing during the transition period.
- Migrate from Java EE 8 to Jakarta EE 8. This will only change the GAV information of the corresponding dependencies to align the behavior of Spring Boot 2.2-2.7.
- Create a Jakarta EE 9 variant of ShardingSphere JDBC Core. The series of processing of ShardingSphere at DistSQL is ignored for the time being, because DistSQL only involves ShardingSphere Proxy.
4edd5df to
1cc879b
Compare
b6d5e78 to
6ae79a4
Compare
6ae79a4 to
23edfec
Compare
23edfec to
c397c91
Compare
|
c397c91 to
f26ed3a
Compare
3acf25b to
4e240e8
Compare
4e240e8 to
0330b30
Compare
0330b30 to
7b31dbf
Compare
7b31dbf to
728b10d
Compare
728b10d to
227dc57
Compare
227dc57 to
cd1496d
Compare
cd1496d to
db29a09
Compare
db29a09 to
374bbd4
Compare
linghengqian
left a comment
There was a problem hiding this comment.
If FasterXML/jackson-dataformat-xml#628 is resolved, I will try to remove the use of JAXB API in the test suite. This will further reduce the impact of this PR.
- It's hard to say there's an easy way to ensure that XML parsing libraries from Jakarta EE 8's Java API are converted to Jackson XML's Java API. This is compounded by the breaking changes in Jackson 3.0, and the situation becomes even more confusing. I'm going to close the current PR and wait for the future release of Jackson 3.0.
- Also see https://github.com/FasterXML/jackson/wiki/Jackson-Release-3.0 and spring-projects/spring-framework#33798 .
Java 17 is now required for all components, except for
jackson-annotationsthat still requires just Java 8
Fixes #26041.
Changes proposed in this pull request:
jakarta.platform:jakarta.jakartaee-bom:8.0.0tojakarta.platform:jakarta.jakartaee-bom:9.0.0.org.glassfish.jaxb:jaxb-bom:2.3.9toorg.glassfish.jaxb:jaxb-bom:3.0.2.11, and features after that were not available on the ShardingSphere side.javax.transaction.xa.*was retained becausejavax.transaction.xa.*is now part of Java SE 21. Refer to https://jakarta.ee/specifications/transactions/2.0/jakarta-transactions-spec-2.0.html#java-se .2.7.x, the last version of Spring Boot OSS to use Java EE 8, will end community support on2023-11-18. Refer to https://spring.io/projects/spring-boot#support .jakartavariant with Narayana5.12.7.Final.5.13.0.Final, the baseline JDK version was upgraded to JDK11, and features after that were not available on the ShardingSphere side. Refer to https://issues.redhat.com/browse/JBTM-3590 .5.12.4.Finalmilestone, the JBoss Team created Jakarta variants for Uber Jars likeorg.jboss.narayana.jta:narayana-jta, such asorg.jboss.narayana.jta:narayana-jta-jakarta, but not fororg.jboss.narayana.jta:jta, so the ShardingSphere side needs to use Narayana's Uber Jar. Reference https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12310200&version=12378489 and https://github.com/jbosstm/narayana/blob/5.12.7.Final/ArjunaJTA/narayana-jta-jakarta/pom.xml .11in the future, we can update Narayana to7.0.0.Final.jboss-loggingto3.4.3.Final. This is just to avoid the CVE passed over by Narayana.org.jboss.logging:jboss-logging:3.5.0.Final, the baseline JDK version was upgraded to JDK11, and features after that were not available on the ShardingSphere side. Refer to https://issues.redhat.com/browse/JBLOGGING-162 .jakartavariant with Atomikos6.0.0. The jakarta variant of Atomikos does not have a bom, so this PR removes the corresponding bom.Before committing this PR, I'm sure that I have checked the following options:
./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e.