public class JerseyClient extends java.lang.Object implements javax.ws.rs.client.Client, Initializable<JerseyClient>
JAX-RS Client
contract.| Modifier and Type | Class and Description |
|---|---|
(package private) static interface |
JerseyClient.ShutdownHook
Client instance shutdown hook.
|
| Modifier and Type | Field and Description |
|---|---|
private java.util.concurrent.atomic.AtomicBoolean |
closedFlag |
private ClientConfig |
config |
private static DefaultSslContextProvider |
DEFAULT_SSL_CONTEXT_PROVIDER |
private javax.net.ssl.HostnameVerifier |
hostnameVerifier |
private boolean |
isDefaultSslContext |
private static java.util.logging.Logger |
LOG |
private java.lang.ref.ReferenceQueue<JerseyClient.ShutdownHook> |
shReferenceQueue |
private java.util.concurrent.LinkedBlockingDeque<java.lang.ref.WeakReference<JerseyClient.ShutdownHook>> |
shutdownHooks |
private UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> |
sslContext |
| Modifier | Constructor and Description |
|---|---|
protected |
JerseyClient()
Create a new Jersey client instance using a default configuration.
|
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
javax.net.ssl.SSLContext sslContext,
javax.net.ssl.HostnameVerifier verifier)
Create a new Jersey client instance.
|
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
javax.net.ssl.SSLContext sslContext,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
Create a new Jersey client instance.
|
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier)
Create a new Jersey client instance.
|
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
Create a new Jersey client instance.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
checkNotClosed()
Check that the client instance has not been closed.
|
private void |
cleanUpShutdownHooks()
Clean up shutdown hooks that have been garbage collected.
|
void |
close() |
private UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> |
createLazySslContext(DefaultSslContextProvider provider) |
ClientConfig |
getConfiguration()
Get a live view of an internal client configuration state of this initializable instance.
|
javax.net.ssl.HostnameVerifier |
getHostnameVerifier() |
javax.net.ssl.SSLContext |
getSslContext() |
JerseyInvocation.Builder |
invocation(javax.ws.rs.core.Link link) |
boolean |
isClosed()
Check client state.
|
boolean |
isDefaultSslContext()
Get information about used
SSLContext. |
JerseyClient |
preInitialize()
Pre-initializes the runtime and runtime
configuration of this component
in order to improve performance during the first request. |
JerseyClient |
property(java.lang.String name,
java.lang.Object value) |
JerseyClient |
register(java.lang.Class<?> providerClass) |
JerseyClient |
register(java.lang.Class<?> providerClass,
java.lang.Class<?>... contracts) |
JerseyClient |
register(java.lang.Class<?> providerClass,
int bindingPriority) |
JerseyClient |
register(java.lang.Class<?> providerClass,
java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts) |
JerseyClient |
register(java.lang.Object provider) |
JerseyClient |
register(java.lang.Object provider,
java.lang.Class<?>... contracts) |
JerseyClient |
register(java.lang.Object provider,
int bindingPriority) |
JerseyClient |
register(java.lang.Object provider,
java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts) |
(package private) void |
registerShutdownHook(JerseyClient.ShutdownHook shutdownHook)
Register a new client shutdown hook.
|
private void |
release() |
JerseyWebTarget |
target(javax.ws.rs.core.Link link) |
JerseyWebTarget |
target(java.lang.String uri) |
JerseyWebTarget |
target(java.net.URI uri) |
JerseyWebTarget |
target(javax.ws.rs.core.UriBuilder uriBuilder) |
private static final java.util.logging.Logger LOG
private static final DefaultSslContextProvider DEFAULT_SSL_CONTEXT_PROVIDER
private final java.util.concurrent.atomic.AtomicBoolean closedFlag
private final boolean isDefaultSslContext
private final ClientConfig config
private final javax.net.ssl.HostnameVerifier hostnameVerifier
private final UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContext
private final java.util.concurrent.LinkedBlockingDeque<java.lang.ref.WeakReference<JerseyClient.ShutdownHook>> shutdownHooks
private final java.lang.ref.ReferenceQueue<JerseyClient.ShutdownHook> shReferenceQueue
protected JerseyClient()
protected JerseyClient(javax.ws.rs.core.Configuration config,
javax.net.ssl.SSLContext sslContext,
javax.net.ssl.HostnameVerifier verifier)
config - jersey client configuration.sslContext - jersey client SSL context.verifier - jersey client host name verifier.protected JerseyClient(javax.ws.rs.core.Configuration config,
javax.net.ssl.SSLContext sslContext,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
config - jersey client configuration.sslContext - jersey client SSL context.verifier - jersey client host name verifier.defaultSslContextProvider - default SSL context provider.protected JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier)
config - jersey client configuration.sslContextProvider - jersey client SSL context provider.verifier - jersey client host name verifier.protected JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
config - jersey client configuration.sslContextProvider - jersey client SSL context provider. Non null provider is expected to
return non-default value.verifier - jersey client host name verifier.defaultSslContextProvider - default SSL context provider.public void close()
close in interface javax.ws.rs.client.Clientprivate void release()
private UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> createLazySslContext(DefaultSslContextProvider provider)
void registerShutdownHook(JerseyClient.ShutdownHook shutdownHook)
shutdownHook - client shutdown hook.private void cleanUpShutdownHooks()
public boolean isClosed()
true if current JerseyClient instance is closed, otherwise false.close()void checkNotClosed()
java.lang.IllegalStateException - in case the client instance has been closed already.public boolean isDefaultSslContext()
SSLContext.true when used SSLContext is acquired from SslConfigurator.getDefaultContext(),
false otherwise.public JerseyWebTarget target(java.lang.String uri)
target in interface javax.ws.rs.client.Clientpublic JerseyWebTarget target(java.net.URI uri)
target in interface javax.ws.rs.client.Clientpublic JerseyWebTarget target(javax.ws.rs.core.UriBuilder uriBuilder)
target in interface javax.ws.rs.client.Clientpublic JerseyWebTarget target(javax.ws.rs.core.Link link)
target in interface javax.ws.rs.client.Clientpublic JerseyInvocation.Builder invocation(javax.ws.rs.core.Link link)
invocation in interface javax.ws.rs.client.Clientpublic JerseyClient register(java.lang.Class<?> providerClass)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Object provider)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Class<?> providerClass, int bindingPriority)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Class<?> providerClass, java.lang.Class<?>... contracts)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Class<?> providerClass, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Object provider, int bindingPriority)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Object provider, java.lang.Class<?>... contracts)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient register(java.lang.Object provider, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public JerseyClient property(java.lang.String name, java.lang.Object value)
property in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>public ClientConfig getConfiguration()
InitializablegetConfiguration in interface javax.ws.rs.core.Configurable<javax.ws.rs.client.Client>getConfiguration in interface Initializable<JerseyClient>public javax.net.ssl.SSLContext getSslContext()
getSslContext in interface javax.ws.rs.client.Clientpublic javax.net.ssl.HostnameVerifier getHostnameVerifier()
getHostnameVerifier in interface javax.ws.rs.client.Clientpublic JerseyClient preInitialize()
Initializableconfiguration of this component
in order to improve performance during the first request.
Once this method is called no other method implementing Configurable should be called
on this pre initialized component, otherwise the initialized client runtime will be discarded and the configuration
will change back to uninitialized.
preInitialize in interface Initializable<JerseyClient>