-
Notifications
You must be signed in to change notification settings - Fork 2.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
Rest Client Reactive default methods fail with Kotlin #22231
Comments
I don't think we should fix this on our side actually, because it's very easy to work around the problem by adding: <args>
<arg>-Xjvm-default=all</arg>
</args> in the @michalszynkiewicz, @evanchooly do you agree? |
The only issue I have with this is that it is infectious, you have to remember to add this to all projects. When it fails it's pretty easy to miss that it's the default methods that are causing it. It would be nice for it to "just work" or to have a warning/error generated. That being said it seems like this is basically a Kotlin issue. |
@geoand FYI, I did not know about this option previously. Thank you for the fix workaround. |
I agree. That flag seems to fix it so we should go with that until that proves insufficient. Anything we try to do would be susceptible to variations in kotlin compiler changes which has already bitten us with panache. |
Add note about default Kotlin interface methods in REST Client docs
…ve REST Client Follow up of: quarkusio#22231
Prohibit the use of legacy Kotlin interface default methods on Reactive REST Client
Describe the bug
Using a default method in a Kotlin interface defining a REST client results in an
AbstractMethodError
being thrown.Expected behavior
Default methods should be usable in REST client methods. This is expected behavior according to #19226 (comment)
Actual behavior
AbstractMethodError
is thrown for any defined default methods.How to Reproduce?
curl -v http://localhost:8080/todos/block
to see failure in a blocking method.curl -v http://localhost:8080/todos/co
to see failure in a Kotlin coroutine.code-with-quarkus.zip
Output of
uname -a
orver
macOS 12.0.1
Output of
java -version
17
GraalVM version (if different from Java)
No response
Quarkus version or git rev
2.6.0.CR1
Build tool (ie. output of
mvnw --version
orgradlew --version
)gradle
Additional information
No response
The text was updated successfully, but these errors were encountered: