[restful-ws] Doesn't work with Quarkus Reactive in Native mode
cardil opened this issue · 9 comments
The library works well with Quarkus RESTEasy Reactive. Also, the Reactive REST Client works. But, in Native mode the app throws:
2023-04-11 20:02:52,028 INFO [org.ecl.jet.uti.log] (pool-2-thread-1) Logging initialized @3197ms to org.eclipse.jetty.util.log.Slf4jLog
2023-04-11 20:02:52,388 INFO [org.ecl.jet.ser.Server] (pool-2-thread-1) jetty-9.4.49.v20220914; built: 2022-09-14T01:07:36.601Z; git: 4231a3b2e4cb8548a412a789936d640a97b1aa0a; jvm 17.0.5+8
2023-04-11 20:02:52,411 INFO [org.ecl.jet.ser.han.ContextHandler] (pool-2-thread-1) Started o.e.j.s.ServletContextHandler@4a9f17bd{/__admin,null,AVAILABLE}
2023-04-11 20:02:52,432 INFO [org.ecl.jet.ser.han.Con.ROOT] (pool-2-thread-1) RequestHandlerClass from context returned com.github.tomakehurst.wiremock.http.StubRequestHandler. Normalized mapped under returned 'null'
2023-04-11 20:02:52,433 INFO [org.ecl.jet.ser.han.ContextHandler] (pool-2-thread-1) Started o.e.j.s.ServletContextHandler@74a8659d{/,null,AVAILABLE}
2023-04-11 20:02:52,455 INFO [org.ecl.jet.ser.AbstractConnector] (pool-2-thread-1) Started NetworkTrafficServerConnector@3d916fd4{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:34467}
2023-04-11 20:02:52,455 INFO [org.ecl.jet.ser.Server] (pool-2-thread-1) Started @3630ms
======================================================================================
native.image.path was not set, making a guess for the correct path of native image
guessed path: /home/ksuszyns/git/openshift-knative-showcase/quarkus/target/knative-showcase-v0.6.0-15-g5a4a52a-runner
======================================================================================
Executing "/home/ksuszyns/git/openshift-knative-showcase/quarkus/target/knative-showcase-v0.6.0-15-g5a4a52a-runner -Dquarkus.http.port=8081 -Dquarkus.http.ssl-port=8444 -Dtest.url=http://localhost:8081 -Dquarkus.log.file.path=/home/ksuszyns/git/openshift-knative-showcase/quarkus/target/quarkus.log -Dquarkus.log.file.enable=true -Dk.sink=http://localhost:34467"
__ ____ __ _____ ___ __ ____ ______
--/ __ \/ / / / _ | / _ \/ //_/ / / / __/
-/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \
--\___\_\____/_/ |_/_/|_/_/|_|\____/___/
2023-04-11 20:02:52,641 INFO [io.quarkus] (main) knative-showcase v0.6.0-15-g5a4a52a native (powered by Quarkus 2.13.5.Final-redhat-00003) started in 0.061s. Listening on: http://0.0.0.0:8081
2023-04-11 20:02:52,642 INFO [io.quarkus] (main) Profile prod activated.
2023-04-11 20:02:52,642 INFO [io.quarkus] (main) Installed features: [cdi, hibernate-validator, kubernetes, opentelemetry, qute, rest-client-reactive, rest-client-reactive-jackson, resteasy-reactive, resteasy-reactive-jackson, resteasy-reactive-qute, smallrye-context-propagation, smallrye-health, smallrye-metrics, smallrye-openapi, vertx]
2023-04-11 20:02:52,726 WARN [org.jbo.res.mic.cli.RestClientBuilderImpl] (main) CDI container is not available
2023-04-11 20:02:53,082 WARN [org.jbo.res.mic.cli.RestClientBuilderImpl] (main) CDI container is not available
2023-04-11 20:02:53,189 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "POST /events HTTP/1.1[\r][\n]"
2023-04-11 20:02:53,189 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Accept: application/json[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "ce-id: 123456[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "ce-source: http://localhost[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "ce-specversion: 1.0[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "ce-type: test[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Content-Type: text/plain[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Content-Length: 13[\r][\n]"
2023-04-11 20:02:53,190 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Host: localhost:8081[\r][\n]"
2023-04-11 20:02:53,191 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
2023-04-11 20:02:53,191 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.13.redhat-00002 (Java/17.0.5)[\r][\n]"
2023-04-11 20:02:53,191 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "[\r][\n]"
2023-04-11 20:02:53,191 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 >> "Hello, World!"
2023-04-11 20:02:53,193 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-0) HTTP Request to /events failed, error id: e96c15cb-fb8a-49a6-ba90-c6d850092151-1: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.redhat.openshift.knative.showcase.events.Rest.receive(io.cloudevents.CloudEvent)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getMethod(ResteasyReactiveResourceInfo.java:72)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getParameterAnnotations(ResteasyReactiveResourceInfo.java:113)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.getAnnotations(RequestDeserializeHandler.java:129)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.isReadable(RequestDeserializeHandler.java:114)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.handle(RequestDeserializeHandler.java:75)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:109)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:142)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base@17.0.5/java.lang.Thread.run(Thread.java:833)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
Caused by: java.lang.NoSuchMethodException: com.redhat.openshift.knative.showcase.events.Rest.receive(io.cloudevents.CloudEvent)
at java.base@17.0.5/java.lang.Class.getMethod(DynamicHub.java:2227)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getMethod(ResteasyReactiveResourceInfo.java:67)
... 15 more
2023-04-11 20:02:53,193 ERROR [org.jbo.res.rea.com.cor.AbstractResteasyReactiveContext] (executor-thread-0) Request failed: java.lang.RuntimeException: java.lang.NoSuchMethodException: com.redhat.openshift.knative.showcase.events.Rest.receive(io.cloudevents.CloudEvent)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getMethod(ResteasyReactiveResourceInfo.java:72)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getParameterAnnotations(ResteasyReactiveResourceInfo.java:113)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.getAnnotations(RequestDeserializeHandler.java:129)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.isReadable(RequestDeserializeHandler.java:114)
at org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.handle(RequestDeserializeHandler.java:75)
at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:109)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:142)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueu2023-04-11 20:02:53,194 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 << "HTTP/1.1 500 Internal Server Error[\r][\n]"
eExecutor.java:2449)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base@17.0.5/java.lang.Thread.run(Thread.java:833)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)
Caused 2023-04-11 20:02:53,194 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 << "content-type: application/json; charset=utf-8[\r][\n]"
by: java.lang.NoSuchMethodException: com.redhat.openshift.knative.showcase.events.Rest.receive(io.cloudevents.CloudEvent)
at java.base@17.0.5/java.lang.Class.getMethod(DynamicHub.java:2227)
at org.jboss.resteasy.reactive.server.spi.ResteasyReactiveResourceInfo.getMethod(ResteasyReactiveResourceInfo.java:67)
... 15 more
2023-04-11 20:02:53,195 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 << "content-length: 72[\r][\n]"
2023-04-11 20:02:53,195 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 << "[\r][\n]"
2023-04-11 20:02:53,195 DEBUG [org.apa.htt.wire] (main) http-outgoing-0 << "{"details":"Error id e96c15cb-fb8a-49a6-ba90-c6d850092151-1","stack":""}"
javax.ws.rs.WebApplicationException: Unknown error, status code 500
at org.jboss.resteasy.microprofile.client.DefaultResponseExceptionMapper.toThrowable(DefaultResponseExceptionMapper.java:21)
at org.jboss.resteasy.microprofile.client.ExceptionMapping$HandlerException.mapException(ExceptionMapping.java:41)
at org.jboss.resteasy.microprofile.client.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:155)
at com.redhat.openshift.knative.showcase.events.$Proxy54.receive(Unknown Source)
at com.redhat.openshift.knative.showcase.events.EndpointTest.sendEvent(EndpointTest.java:66)
at com.redhat.openshift.knative.showcase.events.EndpointTest.receive(EndpointTest.java:49)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at io.quarkus.test.junit.QuarkusTestExtension.interceptTestMethod(QuarkusTestExtension.java:907)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:86)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92)
at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:147)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:127)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:90)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:55)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:102)
at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:54)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:57)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
2023-04-11 20:02:53,256 INFO [org.ecl.jet.ser.AbstractConnector] (main) Stopped NetworkTrafficServerConnector@3d916fd4{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:0}
2023-04-11 20:02:53,257 INFO [org.ecl.jet.ser.han.ContextHandler] (main) Stopped o.e.j.s.ServletContextHandler@74a8659d{/,null,STOPPED}
2023-04-11 20:02:53,258 INFO [org.ecl.jet.ser.han.ContextHandler] (main) Stopped o.e.j.s.ServletContextHandler@4a9f17bd{/__admin,null,STOPPED}
Process finished with exit code 255
You can see in the logs the app has started, and the request was properly sent. The exception happens on server-side.
/kind bug
Interestingly, when running in JVM mode, which works, the stacktrace is different (I dumped it manually):
com.redhat.openshift.knative.showcase.events.Rest.receive(Rest.java:27)
com.redhat.openshift.knative.showcase.events.Rest_ClientProxy.receive(Unknown Source)
com.redhat.openshift.knative.showcase.events.Endpoint$quarkusrestinvoker$receive_ed27cfee18d9553e91ab63b74676b55c5cd1cd30.invoke(Unknown Source)
org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:115)
org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:142)
io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:564)
org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
java.base/java.lang.Thread.run(Thread.java:833)
In the Native mode, the stacktrace has the following:
org.jboss.resteasy.reactive.server.handlers.RequestDeserializeHandler.handle(RequestDeserializeHandler.java:75)
io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:109)
hmm, I'm not sure, we're not doing anything special to be honest
For sure, the failure is caused by the fact the code tries to use reflection (here: https://github.com/quarkusio/quarkus/blob/2.13.5.Final/independent-projects/resteasy-reactive/server/runtime/src/main/java/org/jboss/resteasy/reactive/server/spi/ResteasyReactiveResourceInfo.java#L67)
In Native mode (Graalvm compiled binary) reflection doesn't work. That's why we get "method not found" exception.
The code should use the code index (see: https://github.com/smallrye/jandex), built at compile time by Quarkus deployment plugins, for all lookups.
However, I don't know what CloudEvents SDK is doing here wrong...
I've posted a question about this on the Quarkus chat: https://quarkusio.zulipchat.com/#narrow/stream/306418-resteasy-reactive/topic/CloudEvents.20lib.20doesn't.20work.20in.20native.20mode/near/349160477
quarkusio/quarkus#33267 should have resolved this issue. I will confirm...
Works on Quarkus >= 3.1.3.Final