quarkus: Hot reload breaks when using suspending functions in controller with Quarkus security
Describe the bug
When editing a suspending function in a Jakarta resource that is protected by Quarkus security (for example with the @PermitAll
annotation), the reload will error and yield the following exception
Intercepted methods of the bean org.acme.ExampleResource may not be declared final:
This is likely due to the all-open
plugin not being taken into account properly/too late.
It should be noted that the recompilation works fine if Quarkus security is not used.
Expected behavior
Live reload works correctly and new code is used
Actual behavior
Compilation error: Intercepted methods of the bean org.acme.ExampleResource may not be declared final:
How to Reproduce?
Reproducer: suspending-reproducer.zip
Steps:
- Start Quarkus in development mode
- Navigate to http://localhost:8080/hello
- Edit the text returned in
ExampleResource::hello
- reload the page in the browser
Output of uname -a
or ver
Microsoft Windows [Version 10.0.22621.2134]
Output of java -version
17.0.1
GraalVM version (if different from Java)
No response
Quarkus version or git rev
3.2.4.Final
Build tool (ie. output of mvnw --version
or gradlew --version
)
Gradle 8.1.1
Additional information
No response
About this issue
- Original URL
- State: open
- Created 10 months ago
- Comments: 21 (11 by maintainers)
Thank you so much! Confirming that this works.
I’ve found a workaround: https://github.com/quarkusio/quarkus/issues/37109#issuecomment-1828352002
Here is how compiler options are meant to be configured https://quarkus.io/guides/kotlin#configuring-live-reload-compiler