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

add tri native image support #12536

Merged
merged 2 commits into from Jun 19, 2023
Merged

add tri native image support #12536

merged 2 commits into from Jun 19, 2023

Conversation

FoghostCn
Copy link
Contributor

@FoghostCn FoghostCn commented Jun 15, 2023

What is the purpose of the change

fix #12535
add tri native image support

every netty channelHandler should have a reflect-config conf in native image build
as netty does netty/netty#12794, netty/netty#12738
otherwise will cause io.netty.channel.ChannelHandlerMask#isSkippable check failed

https://github.com/netty/netty/blob/4.1/transport/src/main/java/io/netty/channel/ChannelHandlerMask.java#L177

Brief changelog

Verifying this change

Checklist

  • Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
  • Add some description to dubbo-website project if you are requesting to add a feature.
  • GitHub Actions works fine on your own branch.
  • If this contribution is large, please follow the Software Donation Guide.

@FoghostCn FoghostCn changed the title add tri native image support fix tri native image support Jun 15, 2023
@FoghostCn FoghostCn changed the title fix tri native image support add tri native image support Jun 15, 2023
@FoghostCn FoghostCn force-pushed the 3.3-tri-native branch 2 times, most recently from 053714b to 19dfe93 Compare June 15, 2023 03:31
@EarthChen EarthChen requested a review from CrazyHZM June 15, 2023 05:21
Comment on lines +53 to +56
private TypeDescriber buildTypeDescriberWithPublicMethod(Class<?> cl) {
Set<MemberCategory> memberCategories = new HashSet<>();
memberCategories.add(MemberCategory.INVOKE_DECLARED_METHODS);
return new TypeDescriber(c.getName(), null, new HashSet<>(), new HashSet<>(), new HashSet<>(), memberCategories);
memberCategories.add(MemberCategory.INVOKE_PUBLIC_METHODS);
return new TypeDescriber(cl.getName(), null, new HashSet<>(), new HashSet<>(), new HashSet<>(), memberCategories);
Copy link
Member

Choose a reason for hiding this comment

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

Why change this member category?

Copy link
Contributor Author

@FoghostCn FoghostCn Jun 16, 2023

Choose a reason for hiding this comment

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

cause to method https://github.com/netty/netty/blob/4.1/transport/src/main/java/io/netty/channel/ChannelHandlerMask.java#L167 public is enough and reflect config for ChannelHandler in netty project is also public, for example:

  {
    "name": "io.netty.channel.ChannelDuplexHandler",
    "condition": {
      "typeReachable": "io.netty.channel.ChannelDuplexHandler"
    },
    "queryAllPublicMethods": true
  }

@AlbumenJ AlbumenJ requested a review from CrazyHZM June 18, 2023 06:12
@CrazyHZM CrazyHZM merged commit c96a06e into apache:3.3 Jun 19, 2023
11 of 12 checks passed
@FoghostCn FoghostCn deleted the 3.3-tri-native branch December 5, 2023 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants