You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Every usage of BeanParam causes hot reload to fail and requires manual reload of the app.
I'm running graalvm 23
Expected behavior
When using BeanParam for the first time, everything works as expected including after a small change in the code when the hot reload kicks in.
Actual behavior
When I change anything in the code while the app is running, the hot reload fails on the next request to the service with the following (shortened) exception:
loader constraint violation: when resolving method 'com.freifeld.SimpleBeanParam com.freifeld.SimpleBeanParam.__quarkus_rest_inject(org.jboss.resteasy.reactive.server.injection.ResteasyReactiveInjectionContext)' the class loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @52af26ee of the current class, org/jboss/resteasy/reactive/server/core/parameters/RecordBeanParamExtractor, and the class loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @e30e4ad for the method's defining class, com/freifeld/SimpleBeanParam, have different Class objects for the type com/freifeld/SimpleBeanParam used in the signature (org.jboss.resteasy.reactive.server.core.parameters.RecordBeanParamExtractor is in unnamed module of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @52af26ee, parent loader 'app'; com.freifeld.SimpleBeanParam is in unnamed module of loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @e30e4ad, parent loader io.quarkus.bootstrap.classloading.QuarkusClassLoader @52af26ee)
To make it work again, it requires a manual restart.
I am experiencing this same issue with a record class annotated with @BeanParam in the @post REST method. Initial startup with "quarkus dev" allows the REST call to succeed when called multiple times, but a code change triggering dynamic reload of running system results in an invocation target exception. Each field specified in the record parameters is annotated with @restform.
Some relevant parts of stack trace:
java.lang.RuntimeException: Failed to find target generated factory method on record @BeanParam type
at org.jboss.resteasy.reactive.server.core.parameters.RecordBeanParamExtractor.(RecordBeanParamExtractor.java:19)
....
Caused by: java.lang.IllegalAccessException: no such method: com.lifelenstech.bundlesubmission.rest.BundleForm.__quarkus_rest_inject(ResteasyReactiveInjectionContext)BundleForm/invokeStatic
Describe the bug
Every usage of BeanParam causes hot reload to fail and requires manual reload of the app.
I'm running graalvm 23
Expected behavior
When using BeanParam for the first time, everything works as expected including after a small change in the code when the hot reload kicks in.
Actual behavior
When I change anything in the code while the app is running, the hot reload fails on the next request to the service with the following (shortened) exception:
To make it work again, it requires a manual restart.
How to Reproduce?
https://github.com/FreifeldRoyi/bean-param-issue
Output of
uname -a
orver
No response
Output of
java -version
No response
Quarkus version or git rev
3.17.6
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response
The text was updated successfully, but these errors were encountered: