is not done for rest-client-reactive and smallrye-opentracing.
Stacktrace
2021-07-19 11:44:33,462 ERROR [org.jbo.res.rea.com.cor.AbstractResteasyReactiveContext] (executor-thread-0) Request failed: java.util.ServiceConfigurationError: org.eclipse.microprofile.rest.client.spi.RestClientListener: Provider io.smallrye.opentracing.SmallRyeRestClientListener not found
at java.util.ServiceLoader.fail(ServiceLoader.java:589)
at java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1212)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:105)
at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1265)
at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)
at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1385)
at io.quarkus.rest.client.reactive.runtime.RestClientListeners.get(RestClientListeners.java:19)
at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.build(RestClientBuilderImpl.java:239)
at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.build(RestClientCDIDelegateBuilder.java:76)
at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.createDelegate(RestClientCDIDelegateBuilder.java:57)
at io.quarkus.rest.client.reactive.runtime.RestClientReactiveCDIWrapperBase.<init>(RestClientReactiveCDIWrapperBase.java:16)
at acme.RestTestClient$$CDIWrapper.<init>(RestTestClient$$CDIWrapper.zig:21)
at acme.RestTestClient$$CDIWrapper_ClientProxy.<init>(RestTestClient$$CDIWrapper_ClientProxy.zig:24)
at acme.RestTestClient$$CDIWrapper_Bean.proxy(RestTestClient$$CDIWrapper_Bean.zig:40)
at acme.RestTestClient$$CDIWrapper_Bean.get(RestTestClient$$CDIWrapper_Bean.zig:243)
at acme.RestTestClient$$CDIWrapper_Bean.get(RestTestClient$$CDIWrapper_Bean.zig:259)
at acme.ClientProducer_Bean.create(ClientProducer_Bean.zig:161)
at acme.ClientProducer_Bean.create(ClientProducer_Bean.zig:183)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:17)
at acme.ClientProducer_ClientProxy.arc$delegate(ClientProducer_ClientProxy.zig:67)
at acme.ClientProducer_ClientProxy.arc_contextualInstance(ClientProducer_ClientProxy.zig:82)
at acme.ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_Bean.create(ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_Bean.zig:163)
at acme.ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_Bean.create(ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_Bean.zig:197)
at io.quarkus.arc.impl.AbstractSharedContext.createInstanceHandle(AbstractSharedContext.java:96)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:29)
at io.quarkus.arc.impl.AbstractSharedContext$1.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.LazyValue.get(LazyValue.java:26)
at io.quarkus.arc.impl.ComputingCache.computeIfAbsent(ComputingCache.java:69)
at io.quarkus.arc.impl.AbstractSharedContext.get(AbstractSharedContext.java:26)
at io.quarkus.arc.impl.ClientProxies.getApplicationScopedDelegate(ClientProxies.java:17)
at acme.ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_ClientProxy.arc$delegate(ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_ClientProxy.zig:68)
at acme.ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_ClientProxy.getSomething(ClientProducer_ProducerMethod_produceIt_df58225e88de635bbf742a7a074c1e67bb9c23c9_ClientProxy.zig:128)
at acme.ReactiveGreetingResource.hello(ReactiveGreetingResource.kt:21)
at acme.ReactiveGreetingResource_ClientProxy.hello(ReactiveGreetingResource_ClientProxy.zig:126)
at acme.ReactiveGreetingResource$quarkusrestinvoker$hello_e747664148511e1e5212d3e0f4b40d45c56ab8a1.invoke(ReactiveGreetingResource$quarkusrestinvoker$hello_e747664148511e1e5212d3e0f4b40d45c56ab8a1.zig:33)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:7)
at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:132)
at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:481)
at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2442)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1476)
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.lang.Thread.run(Thread.java:829)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:553)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
Describe the bug
When using Quarkus-Smallrye-Opentracing together with rest-client-reactive the clients are not usable.
Notice:
I had to add serveral quarkus extensions and enable metrics on them for this to occur. It is kinda strange.
It have the feeling it has something to do with micrometer and rest metrics, just a hunch.
I think the real problem is that a registration like for resteasy-classic, found here:
https://github.com/quarkusio/quarkus/blob/41fa591e13d460d472ec05c69d30da574f22de00/extensions/resteasy-classic/rest-client/deployment/src/main/java/io/quarkus/restclient/deployment/RestClientProcessor.java#L135
is not done for rest-client-reactive and smallrye-opentracing.
Stacktrace
Expected behavior
Client is normally usable
Actual behavior
Client is not usable
How to Reproduce?
reproducer.zip
Output of
uname -a
orver
No response
Output of
java -version
No response
GraalVM version (if different from Java)
No response
Quarkus version or git rev
Quarkus 2.0.2.Final
Build tool (ie. output of
mvnw --version
orgradlew --version
)No response
Additional information
No response
https://github.com/quarkusio/quarkus/issues/18806
$upstream:18806$