Class JerseyClient
java.lang.Object
org.glassfish.jersey.client.JerseyClient
- All Implemented Interfaces:
javax.ws.rs.client.Client, javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>, Initializable<JerseyClient>
public class JerseyClient
extends Object
implements javax.ws.rs.client.Client, Initializable<JerseyClient>
Jersey implementation of
JAX-RS Client
contract.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interfaceClient instance shutdown hook. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicBooleanprivate final ClientConfigprivate static final DefaultSslContextProviderprivate final ExecutorServiceprivate final HostnameVerifierprivate final booleanprivate static final Loggerprivate final ScheduledExecutorServiceprivate final ReferenceQueue<JerseyClient.ShutdownHook> private final LinkedBlockingDeque<WeakReference<JerseyClient.ShutdownHook>> private final UnsafeValue<SSLContext, IllegalStateException> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreate a new Jersey client instance using a default configuration.protectedJerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider) Create a new Jersey client instance.protectedJerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) -
Method Summary
Modifier and TypeMethodDescription(package private) voidCheck that the client instance has not been closed.private voidClean up shutdown hooks that have been garbage collected.voidclose()private UnsafeValue<SSLContext, IllegalStateException> Get a live view of an internal client configuration state of this initializable instance.private ScheduledExecutorServiceinvocation(javax.ws.rs.core.Link link) booleanisClosed()Check client state.booleanGet information about usedSSLContext.Pre-initializes the runtime and runtimeconfigurationof this component in order to improve performance during the first request.(package private) voidregisterShutdownHook(JerseyClient.ShutdownHook shutdownHook) Register a new client shutdown hook.private voidrelease()target(javax.ws.rs.core.Link link) target(javax.ws.rs.core.UriBuilder uriBuilder)
-
Field Details
-
LOG
-
DEFAULT_SSL_CONTEXT_PROVIDER
-
closedFlag
-
isDefaultSslContext
private final boolean isDefaultSslContext -
config
-
hostnameVerifier
-
sslContext
-
shutdownHooks
-
shReferenceQueue
-
executorService
-
scheduledExecutorService
-
-
Constructor Details
-
JerseyClient
protected JerseyClient()Create a new Jersey client instance using a default configuration. -
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContext- jersey client SSL context.verifier- jersey client host name verifier.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContext- jersey client SSL context.verifier- jersey client host name verifier.defaultSslContextProvider- default SSL context provider.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContextProvider- jersey client SSL context provider.verifier- jersey client host name verifier.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, SSLContext sslContext, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContext- jersey client SSL context.verifier- jersey client host name verifier.defaultSslContextProvider- default SSL context provider.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContextProvider- jersey client SSL context provider.verifier- jersey client host name verifier.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider) Create a new Jersey client instance.- Parameters:
config- jersey client configuration.sslContextProvider- jersey client SSL context provider. Nonnullprovider is expected to return non-default value.verifier- jersey client host name verifier.defaultSslContextProvider- default SSL context provider.
-
JerseyClient
protected JerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<SSLContext, IllegalStateException> sslContextProvider, HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, ExecutorService executorService, ScheduledExecutorService scheduledExecutorService)
-
-
Method Details
-
close
public void close()- Specified by:
closein interfacejavax.ws.rs.client.Client
-
release
private void release() -
createLazySslContext
private UnsafeValue<SSLContext, IllegalStateException> createLazySslContext(DefaultSslContextProvider provider) -
registerShutdownHook
Register a new client shutdown hook.- Parameters:
shutdownHook- client shutdown hook.
-
cleanUpShutdownHooks
private void cleanUpShutdownHooks()Clean up shutdown hooks that have been garbage collected. -
getDefaultScheduledExecutorService
-
isClosed
public boolean isClosed()Check client state.- Returns:
trueif currentJerseyClientinstance is closed, otherwisefalse.- See Also:
-
checkNotClosed
void checkNotClosed()Check that the client instance has not been closed.- Throws:
IllegalStateException- in case the client instance has been closed already.
-
isDefaultSslContext
public boolean isDefaultSslContext()Get information about usedSSLContext.- Returns:
truewhen usedSSLContextis acquired fromSslConfigurator.getDefaultContext(),falseotherwise.
-
target
- Specified by:
targetin interfacejavax.ws.rs.client.Client
-
target
- Specified by:
targetin interfacejavax.ws.rs.client.Client
-
target
- Specified by:
targetin interfacejavax.ws.rs.client.Client
-
target
- Specified by:
targetin interfacejavax.ws.rs.client.Client
-
invocation
- Specified by:
invocationin interfacejavax.ws.rs.client.Client
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
register
- Specified by:
registerin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
property
- Specified by:
propertyin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>
-
getConfiguration
Description copied from interface:InitializableGet a live view of an internal client configuration state of this initializable instance.- Specified by:
getConfigurationin interfacejavax.ws.rs.core.Configurable<javax.ws.rs.client.Client>- Specified by:
getConfigurationin interfaceInitializable<JerseyClient>- Returns:
- configuration live view of the internal configuration state.
-
getSslContext
- Specified by:
getSslContextin interfacejavax.ws.rs.client.Client
-
getHostnameVerifier
- Specified by:
getHostnameVerifierin interfacejavax.ws.rs.client.Client
-
getExecutorService
-
getScheduledExecutorService
-
preInitialize
Description copied from interface:InitializablePre-initializes the runtime and runtimeconfigurationof this component in order to improve performance during the first request.Once this method is called no other method implementing
Configurableshould be called on this pre initialized component, otherwise the initialized client runtime will be discarded and the configuration will change back to uninitialized.- Specified by:
preInitializein interfaceInitializable<JerseyClient>- Returns:
- pre-initialized Jersey client component.
-