mirror of
https://github.com/jlengrand/quarkus.git
synced 2026-03-10 08:41:22 +00:00
Transfer providers discovered at build-time to new ClientBuilder instances
This commit is contained in:
@@ -18,6 +18,9 @@ import io.quarkus.runtime.annotations.Recorder;
|
||||
|
||||
@Recorder
|
||||
public class RestClientRecorder {
|
||||
|
||||
public static ResteasyProviderFactory providerFactory;
|
||||
|
||||
public void setRestClientBuilderResolver() {
|
||||
RestClientBuilderResolver.setInstance(new BuilderResolver());
|
||||
}
|
||||
@@ -58,6 +61,7 @@ public class RestClientRecorder {
|
||||
}
|
||||
|
||||
RestClientBuilderImpl.setProviderFactory(clientProviderFactory);
|
||||
providerFactory = clientProviderFactory;
|
||||
}
|
||||
|
||||
private static void registerProviders(ResteasyProviderFactory clientProviderFactory, Set<String> providersToRegister,
|
||||
|
||||
@@ -2,16 +2,20 @@ package io.quarkus.restclient.runtime.graal;
|
||||
|
||||
import javax.ws.rs.client.ClientBuilder;
|
||||
|
||||
import org.jboss.resteasy.client.jaxrs.internal.LocalResteasyProviderFactory;
|
||||
import org.jboss.resteasy.client.jaxrs.internal.ResteasyClientBuilderImpl;
|
||||
|
||||
import com.oracle.svm.core.annotate.Substitute;
|
||||
import com.oracle.svm.core.annotate.TargetClass;
|
||||
|
||||
import io.quarkus.restclient.runtime.RestClientRecorder;
|
||||
|
||||
@TargetClass(ClientBuilder.class)
|
||||
final class ClientBuilderReplacement {
|
||||
|
||||
@Substitute
|
||||
public static ClientBuilder newBuilder() {
|
||||
return new ResteasyClientBuilderImpl();
|
||||
return new ResteasyClientBuilderImpl()
|
||||
.providerFactory(new LocalResteasyProviderFactory(RestClientRecorder.providerFactory));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user