-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate from Jakarta EE 8 to Jakarta EE 9 #27976
base: master
Are you sure you want to change the base?
Conversation
32089fa
to
0ebf477
Compare
54cd961
to
38f7e10
Compare
Thank you, I need more time to check it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- 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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- @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 Transition from Java EE to Jakarta EE #26041 (comment) .
- Spring boot 2.x will stop OSS support on 2023/11/24, and the next release of shardingsphere will be next month.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
6e85b0e
to
949565f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
223e42e
to
d4ac8e4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
This PR will not actually prevent Spring Boot OSS 3 integration, as usage of the JAXB API has been removed in Removes use of JAXB API via jackson-dataformat-xml #29384.
-
Of course, XA distributed transactions are still not ready on
Spring Boot OSS 3
/Quarkus 3
/Micronaut Framework 4
/Helidon 3
/Helidon 4
. Since the SPI and corresponding implementation of XA distributed transactions has always been an optional module, creating a Jakarta EE variant for an optional module seems very strange and far inferior to the current PR solution. -
If When the
localName
property of@JacksonXmlProperty
is not set, therequired
of@JsonProperty
does not detect the property name of POJO 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.
d4ac8e4
to
d0202de
Compare
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
Fixes #26041.
Changes proposed in this pull request:
jakarta.platform:jakarta.jakartaee-bom:8.0.0
tojakarta.platform:jakarta.jakartaee-bom:9.0.0
.org.glassfish.jaxb:jaxb-bom:2.3.9
toorg.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 .jakarta
variant 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.Final
milestone, 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 .11
in the future, we can update Narayana to7.0.0.Final
.jboss-logging
to3.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 .jakarta
variant 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
.