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 java.util.concurrent.ExecutorService |
executorService |
private javax.net.ssl.HostnameVerifier |
hostnameVerifier |
private boolean |
isDefaultSslContext |
private static java.util.logging.Logger |
LOG |
private java.util.concurrent.ScheduledExecutorService |
scheduledExecutorService |
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,
javax.net.ssl.SSLContext sslContext,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider,
java.util.concurrent.ExecutorService executorService,
java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
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.
|
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider,
java.util.concurrent.ExecutorService executorService,
java.util.concurrent.ScheduledExecutorService scheduledExecutorService) |
protected |
JerseyClient(javax.ws.rs.core.Configuration config,
UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider,
javax.net.ssl.HostnameVerifier verifier,
java.util.concurrent.ExecutorService executorService,
java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
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.
|
private java.util.concurrent.ScheduledExecutorService |
getDefaultScheduledExecutorService() |
java.util.concurrent.ExecutorService |
getExecutorService() |
javax.net.ssl.HostnameVerifier |
getHostnameVerifier() |
java.util.concurrent.ScheduledExecutorService |
getScheduledExecutorService() |
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
private final java.util.concurrent.ExecutorService executorService
private final java.util.concurrent.ScheduledExecutorService scheduledExecutorService
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, javax.net.ssl.SSLContext sslContext, javax.net.ssl.HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, java.util.concurrent.ExecutorService executorService, java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
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, java.util.concurrent.ExecutorService executorService, java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
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.protected JerseyClient(javax.ws.rs.core.Configuration config, UnsafeValue<javax.net.ssl.SSLContext,java.lang.IllegalStateException> sslContextProvider, javax.net.ssl.HostnameVerifier verifier, DefaultSslContextProvider defaultSslContextProvider, java.util.concurrent.ExecutorService executorService, java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
public void close()
close
in interface javax.ws.rs.client.Client
private 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()
private java.util.concurrent.ScheduledExecutorService getDefaultScheduledExecutorService()
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.Client
public JerseyWebTarget target(java.net.URI uri)
target
in interface javax.ws.rs.client.Client
public JerseyWebTarget target(javax.ws.rs.core.UriBuilder uriBuilder)
target
in interface javax.ws.rs.client.Client
public JerseyWebTarget target(javax.ws.rs.core.Link link)
target
in interface javax.ws.rs.client.Client
public JerseyInvocation.Builder invocation(javax.ws.rs.core.Link link)
invocation
in interface javax.ws.rs.client.Client
public 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()
Initializable
getConfiguration
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.Client
public javax.net.ssl.HostnameVerifier getHostnameVerifier()
getHostnameVerifier
in interface javax.ws.rs.client.Client
public java.util.concurrent.ExecutorService getExecutorService()
public java.util.concurrent.ScheduledExecutorService getScheduledExecutorService()
public JerseyClient preInitialize()
Initializable
configuration
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>