Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

linghengqian
Copy link
Member

@linghengqian linghengqian commented Aug 7, 2023

Fixes #26041.

Changes proposed in this pull request:


Before committing this PR, I'm sure that I have checked the following options:

  • My code follows the code of conduct of this project.
  • I have self-reviewed the commit code.
  • I have (or in comment I request) added corresponding labels for the pull request.
  • I have passed maven check locally : ./mvnw clean install -B -T1C -Dmaven.javadoc.skip -Dmaven.jacoco.skip -e.
  • I have made corresponding changes to the documentation.
  • I have added corresponding unit tests for my changes.

@linghengqian linghengqian added the type: dependencies Pull requests that update a dependency file label Aug 7, 2023
@linghengqian linghengqian force-pushed the convert-to-jakarta branch 8 times, most recently from 32089fa to 0ebf477 Compare August 7, 2023 21:19
@linghengqian linghengqian marked this pull request as ready for review August 7, 2023 22:04
@linghengqian linghengqian force-pushed the convert-to-jakarta branch 4 times, most recently from 54cd961 to 38f7e10 Compare August 10, 2023 16:44
@terrymanu
Copy link
Member

Thank you, I need more time to check it.

Copy link
Member Author

@linghengqian linghengqian left a 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.

@linghengqian linghengqian marked this pull request as draft August 12, 2023 11:25
@github-actions
Copy link

There hasn't been any activity on this pull request recently, and in order to prioritize active work, it has been marked as stale.

Copy link
Member Author

@linghengqian linghengqian left a 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.

totalo
totalo previously approved these changes Nov 21, 2023
Copy link
Member

@totalo totalo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Member Author

@linghengqian linghengqian left a 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.

  1. 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.
  2. 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.

@alan2lin
Copy link

JAXB_patch.zip

share a bash script to migrate from java EE 8 to Jakarta ,in springboot 3.1.6 ,jdk 17+

repodir=/data/gitrepo/shardingsphere/

search for all file extensions

find ${repodir} -type f -name "." -exec bash -c 'ext="${1##*.}"; [ ${#ext} -lt 5 ] && echo "$ext "' _ {} ; | sort -u > suffix.txt

find import javax.xml.bind.annotation.*

find ${repodir} -type f ( -name ".java" -o -name ".md" -o -name ".xml" -o -name ".yaml" -o -name ".yml" -o -name ".txt" -o -name "*.toml" ) -exec bash -c 'sed -n "s/import javax(.xml.bind.annotation.[^;]+;)/import jakarta\1/p" "$1" | awk -v file="$1" -v OFS=, "{if ($0 != "") print file, NR, $0}"' _ {} ; > preview.txt

find import javax.xml.bind.JAXB*

find ${repodir} -type f ( -name ".java" -o -name ".md" -o -name ".xml" -o -name ".yaml" -o -name ".yml" -o -name ".txt" -o -name "*.toml" ) -exec bash -c 'sed -n "s/import javax(.xml.bind.JAXB[^;]+;)/import jakarta\1/p" "$1" | awk -v file="$1" -v OFS=, "{if ($0 != "") print file, NR, $0}"' _ {} ; >> preview.txt

replace import javax.xml.bind.annotation.* with import jakarta.xml.bind.annotation.*

find ${repodir} -type f ( -name ".java" -o -name ".md" -o -name ".xml" -o -name ".yaml" -o -name ".yml" -o -name ".txt" -o -name "*.toml" ) -exec bash -c 'sed -i "s/import javax(.xml.bind.annotation.[^;]+;)/import jakarta\1/g" "$1" ' _ {} ;

replace import javax.xml.bind.JAXB* with import jakarta.xml.bind.JAXB*

find ${repodir} -type f ( -name ".java" -o -name ".md" -o -name ".xml" -o -name ".yaml" -o -name ".yml" -o -name ".txt" -o -name "*.toml" ) -exec bash -c 'sed -i "s/import javax(.xml.bind.JAXB[^;]+;)/import jakarta\1/g" "$1" ' _ {} ;

@linghengqian linghengqian changed the title Migrate from Java EE 8 to Jakarta EE 9 Migrate from Jakarta EE 8 to Jakarta EE 9 Dec 5, 2023
@linghengqian linghengqian force-pushed the convert-to-jakarta branch 5 times, most recently from 223e42e to d4ac8e4 Compare December 15, 2023 03:22
Copy link
Member Author

@linghengqian linghengqian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@linghengqian
Copy link
Member Author

  • Terminate this process until further exploration is conducted in shardingsphere-jdbc-5.5.0 causes spring boot to return JSON data as XML #31203 within the context of Spring Boot's WebMVC component. It appears, based on the issue description, that regardless of the XML parsing library introduced, there always exists a corresponding auto-configuration within Spring Boot's WebMVC component that modifies the format of responses from the controller layer. However, the associated issue still lacks unit tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: transaction type: dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transition from Java EE to Jakarta EE
4 participants