public class JerseyClient extends Object implements Client, Initializable<JerseyClient>
JAX-RS Client
contract.| Modifier | Constructor and Description |
|---|---|
protected |
JerseyClient()
Create a new Jersey client instance using a default configuration.
|
protected |
JerseyClient(Configuration config,
SSLContext sslContext,
HostnameVerifier verifier)
Create a new Jersey client instance.
|
protected |
JerseyClient(Configuration config,
SSLContext sslContext,
HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
Create a new Jersey client instance.
|
protected |
JerseyClient(Configuration config,
org.glassfish.jersey.internal.util.collection.UnsafeValue<SSLContext,IllegalStateException> sslContextProvider,
HostnameVerifier verifier)
Create a new Jersey client instance.
|
protected |
JerseyClient(Configuration config,
org.glassfish.jersey.internal.util.collection.UnsafeValue<SSLContext,IllegalStateException> sslContextProvider,
HostnameVerifier verifier,
DefaultSslContextProvider defaultSslContextProvider)
Create a new Jersey client instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close client instance and all it's associated resources.
|
ClientConfig |
getConfiguration()
Get a live view of an internal configuration state of this configurable instance.
|
ExecutorService |
getExecutorService() |
HostnameVerifier |
getHostnameVerifier()
Get the hostname verifier configured in the client or
null in case
no hostname verifier has been configured. |
ScheduledExecutorService |
getScheduledExecutorService() |
SSLContext |
getSslContext()
Get the SSL context configured to be used with the current client run-time.
|
JerseyInvocation.Builder |
invocation(Link link)
Build an invocation builder from a 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(String name,
Object value)
Set the new configuration property, if already set, the existing value of
the property will be updated.
|
JerseyClient |
register(Class<?> providerClass)
Register a class of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Class<?> providerClass,
Class<?>... contracts)
Register a class of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Class<?> providerClass,
int bindingPriority)
Register a class of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Class<?> providerClass,
Map<Class<?>,Integer> contracts)
Register a class of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Object provider)
Register an instance of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Object provider,
Class<?>... contracts)
Register an instance of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Object provider,
int bindingPriority)
Register an instance of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyClient |
register(Object provider,
Map<Class<?>,Integer> contracts)
Register an instance of a custom component (such as an extension provider or
a
feature meta-provider) to be instantiated
and used in the scope of this configurable context. |
JerseyWebTarget |
target(Link link)
Build a new web resource target.
|
JerseyWebTarget |
target(String uri)
Build a new web resource target.
|
JerseyWebTarget |
target(URI uri)
Build a new web resource target.
|
JerseyWebTarget |
target(UriBuilder uriBuilder)
Build a new web resource target.
|
protected JerseyClient()
protected JerseyClient(Configuration config, SSLContext sslContext, HostnameVerifier verifier)
config - jersey client configuration.sslContext - jersey client SSL context.verifier - jersey client host name verifier.protected JerseyClient(Configuration config, SSLContext sslContext, 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(Configuration config, org.glassfish.jersey.internal.util.collection.UnsafeValue<SSLContext,IllegalStateException> sslContextProvider, HostnameVerifier verifier)
config - jersey client configuration.sslContextProvider - jersey client SSL context provider.verifier - jersey client host name verifier.protected JerseyClient(Configuration config, org.glassfish.jersey.internal.util.collection.UnsafeValue<SSLContext,IllegalStateException> sslContextProvider, 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()
ClientIllegalStateException
being thrown.
Calling this method effectively invalidates all resource targets
produced by the client instance. Invoking any method on such targets once the client
is closed would result in an IllegalStateException being thrown.public boolean isClosed()
true if current JerseyClient instance is closed, otherwise false.close()public boolean isDefaultSslContext()
SSLContext.true when used SSLContext is acquired from SslConfigurator.getDefaultContext(),
false otherwise.public JerseyWebTarget target(String uri)
Clientpublic JerseyWebTarget target(URI uri)
Clientpublic JerseyWebTarget target(UriBuilder uriBuilder)
Clientpublic JerseyWebTarget target(Link link)
Clientpublic JerseyInvocation.Builder invocation(Link link)
ClientBuild an invocation builder from a link. It uses the URI and the type of the link to initialize the invocation builder. The type is used as the initial value for the HTTP Accept header, if present.
invocation in interface Clientlink - link to build invocation from. Must not be null.public JerseyClient register(Class<?> providerClass)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
Implementations SHOULD warn about and ignore registrations that do not
conform to the requirements of supported component types in the
given configurable context. Any subsequent registration attempts for a component
type, for which a class or instance-based registration already exists in the system
MUST be rejected by the API implementation and a warning SHOULD be raised to
inform the user about the rejected registration.
The registered component class is registered as a contract provider of
all the recognized API or implementation-specific extension contracts including
meta-provider contracts, such as Feature or DynamicFeature.
As opposed to component instances registered via Configurable.register(Object) method,
the lifecycle of components registered using this class-based register(...)
method is fully managed by the implementation or any underlying IoC
container supported by the implementation.
register in interface Configurable<Client>providerClass - component class to be configured in the scope of this
configurable context.public JerseyClient register(Object provider)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
Implementations SHOULD warn about and ignore registrations that do not
conform to the requirements of supported component types in the
given configurable context. Any subsequent registration attempts for a component
type, for which a class or instance-based registration already exists in the system
MUST be rejected by the API implementation and a warning SHOULD be raised to
inform the user about the rejected registration.
The registered component is registered as a contract provider of
all the recognized API or implementation-specific extension contracts including
meta-provider contracts, such as Feature or DynamicFeature.
As opposed to components registered via Configurable.register(Class) method,
the lifecycle of providers registered using this instance-based register(...)
is not managed by the runtime. The same registered component instance is used during
the whole lifespan of the configurable context.
Fields and properties of all registered component instances are injected with their
declared dependencies (see Context) by the runtime prior to use.
register in interface Configurable<Client>provider - component instance to be configured in the scope of this
configurable context.public JerseyClient register(Class<?> providerClass, int bindingPriority)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Class)
except that any priority specified on the registered component class via
javax.annotation.Priority annotation is overridden with the supplied
priority value.
Note that in case the priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
priority value will be ignored for that contract.
register in interface Configurable<Client>providerClass - component class to be configured in the scope of this
configurable context.bindingPriority - the overriding priority for the registered component
and all the provider contracts the component implements.public JerseyClient register(Class<?> providerClass, Class<?>... contracts)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Class)
except the component class is only registered as a provider of the listed
extension provider or meta-provider contracts.
All explicitly enumerated contract types must represent a class or an interface
implemented or extended by the registered component. Contracts that are not
assignable from the registered component class
MUST be ignored and implementations SHOULD raise a warning to inform users about the
ignored contract(s).
register in interface Configurable<Client>providerClass - component class to be configured in the scope of this
configurable context.contracts - the specific extension provider or meta-provider contracts
implemented by the component for which the component should
be registered.
Implementations MUST ignore attempts to register a component
class for an empty or null collection of contracts via
this method and SHOULD raise a warning about such event.public JerseyClient register(Class<?> providerClass, Map<Class<?>,Integer> contracts)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides same functionality as Configurable.register(Class, Class[])
except that any priority specified on the registered component class via
javax.annotation.Priority annotation is overridden
for each extension provider contract type separately with an integer priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a priority is not applicable to a provider contract registered for the component, the supplied priority value is ignored for such contract.
register in interface Configurable<Client>providerClass - component class to be configured in the scope of this
configurable context.contracts - map of the specific extension provider and meta-provider contracts
and their associated priorities for which the component
is registered.
All contracts in the map must represent a class or an interface
implemented or extended by the component. Contracts that are
not assignable from the registered
component class MUST be ignored and implementations SHOULD raise a warning
to inform users about the ignored contract(s).public JerseyClient register(Object provider, int bindingPriority)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Object)
except that any priority specified on the registered component class via
javax.annotation.Priority annotation is overridden with the supplied
priority value.
Note that in case the priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
priority value will be ignored for that contract.
register in interface Configurable<Client>provider - component instance to be configured in the scope of this
configurable context.bindingPriority - the overriding priority for the registered component
and all the provider contracts the component implements.public JerseyClient register(Object provider, Class<?>... contracts)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides the same functionality as Configurable.register(Object)
except the component class is only registered as a provider of the listed
extension provider or meta-provider contracts.
All explicitly enumerated contract types must represent a class or an interface
implemented or extended by the registered component. Contracts that are not
assignable from the registered component class
MUST be ignored and implementations SHOULD raise a warning to inform users about the
ignored contract(s).
register in interface Configurable<Client>provider - component instance to be configured in the scope of this
configurable context.contracts - the specific extension provider or meta-provider contracts
implemented by the component for which the component should
be registered.
Implementations MUST ignore attempts to register a component
class for an empty or null collection of contracts via
this method and SHOULD raise a warning about such event.public JerseyClient register(Object provider, Map<Class<?>,Integer> contracts)
Configurablefeature meta-provider) to be instantiated
and used in the scope of this configurable context.
This registration method provides same functionality as Configurable.register(Object, Class[])
except that any priority specified on the registered component class via
javax.annotation.Priority annotation is overridden
for each extension provider contract type separately with an integer priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a priority is not applicable to a provider contract registered for the component, the supplied priority value is ignored for such contract.
register in interface Configurable<Client>provider - component instance to be configured in the scope of this
configurable context.contracts - map of the specific extension provider and meta-provider contracts
and their associated priorities for which the component
is registered.
All contracts in the map must represent a class or an interface
implemented or extended by the component. Contracts that are
not assignable from the registered
component class MUST be ignored and implementations SHOULD raise a warning
to inform users about the ignored contract(s).public JerseyClient property(String name, Object value)
Configurablenull value into a property
effectively removes the property from the property bag.property in interface Configurable<Client>name - property name.value - (new) property value. null value removes the property
with the given name.public ClientConfig getConfiguration()
ConfigurableConfigurable instance will be reflected
in the returned Configuration instance.
The returned Configuration instance and the collection data it provides are not
thread-safe wrt. modification made using methods on the parent configurable object.
getConfiguration in interface Configurable<Client>getConfiguration in interface Initializable<JerseyClient>public SSLContext getSslContext()
ClientgetSslContext in interface Clientpublic HostnameVerifier getHostnameVerifier()
Clientnull in case
no hostname verifier has been configured.getHostnameVerifier in interface Clientnull if not set.public ExecutorService getExecutorService()
public ScheduledExecutorService getScheduledExecutorService()
public 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>Copyright © 2007-2019, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.