-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Allow Arc to deal with final methods of beans that need to be proxied #10497
Conversation
@mkouba this probably could be a little cleaner, but I hope it's good enough for now :) |
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, but let's wait for @mkouba to review :)
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.
Looks good.
I wonder if we should mention this in the guide (under the "Non-standard Features" section) and possibly also mention the fact that we do this for beans classes as well. Maybe even enhance the javadoc of ArcConfig.transformUnproxyableClasses
?
Sure, I'll do that later on |
@mkouba PR updated with the doc suggestions you mentioned |
@mkouba OK to merge? |
@@ -59,6 +59,9 @@ | |||
* If set to true, the bytecode of unproxyable beans will be transformed. This ensures that a proxy/subclass | |||
* can be created properly. If the value is set to false, then an exception is thrown at build time indicating that a | |||
* subclass/proxy could not be created. | |||
* | |||
* Furthermore when enabled, this setting allows Quarkus to properly create regular scoped class beans whose methods |
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.
I was more thinking about a list of all transformations we do... final class, no-args constructors, final methods of bean classes (for proxies/subclasses). This sentence is more or less redundant.
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.
OK, fixed
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.
This is done in the same manner that is already present for interceptors and is very useful for Kotlin code where methods are final by default Fixes: quarkusio#10290
This is done in the same manner that is already present for
interceptors and is very useful for Kotlin code where methods
are final by default
Fixes: #10290