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,
UnsafeValue<SSLContext,IllegalStateException> sslContextProvider,
HostnameVerifier verifier)
Create a new Jersey client instance.
|
protected |
JerseyClient(Configuration config,
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 JAX-RS 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 JAX-RS 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 JAX-RS 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 JAX-RS 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 JAX-RS 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 JAX-RS 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 JAX-RS 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 JAX-RS 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, 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, 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()
Client
Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the
client is closed, invoking any other method on the client instance would result in an IllegalStateException
being thrown.
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)
Client
public JerseyWebTarget target(URI uri)
Client
public JerseyWebTarget target(UriBuilder uriBuilder)
Client
public JerseyWebTarget target(Link link)
Client
public JerseyInvocation.Builder invocation(Link link)
Client
Build 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 Client
link
- link to build invocation from. Must not be null
.public JerseyClient register(Class<?> providerClass)
Configurable
feature
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
JAX-RS 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 JAX-RS
implementation and a warning SHOULD be raised to inform the user about the rejected registration.
The registered JAX-RS component class is registered as a contract provider of all the recognized JAX-RS 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 JAX-RS implementation or any
underlying IoC container supported by the implementation.
register
in interface Configurable<Client>
providerClass
- JAX-RS component class to be configured in the scope of this configurable context.public JerseyClient register(Object provider)
Configurable
feature
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
JAX-RS 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 JAX-RS
implementation and a warning SHOULD be raised to inform the user about the rejected registration.
The registered JAX-RS component is registered as a contract provider of all the recognized JAX-RS 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 JAX-RS runtime. The same registered component instance is
used during the whole lifespan of the configurable context. Fields and properties of all registered JAX-RS component
instances are injected with their declared dependencies (see Context
) by the JAX-RS runtime prior to use.
register
in interface Configurable<Client>
provider
- JAX-RS component instance to be configured in the scope of this configurable context.public JerseyClient register(Class<?> providerClass, int bindingPriority)
Configurable
feature
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 JAX-RS component class via jakarta.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
- JAX-RS 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)
Configurable
feature
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 JAX-RS 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
- JAX-RS 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)
Configurable
feature
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 JAX-RS component class via jakarta.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 JAX-RS component, the supplied priority value is ignored for such contract.
register
in interface Configurable<Client>
providerClass
- JAX-RS 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 JAX-RS component is registered. All contracts in the map must represent a class or an interface
implemented or extended by the JAX-RS 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)
Configurable
feature
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 JAX-RS component class via jakarta.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
- JAX-RS 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)
Configurable
feature
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 JAX-RS 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
- JAX-RS 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)
Configurable
feature
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 JAX-RS component class via jakarta.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 JAX-RS component, the supplied priority value is ignored for such contract.
register
in interface Configurable<Client>
provider
- JAX-RS 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 JAX-RS component is registered. All contracts in the map must represent a class or an interface
implemented or extended by the JAX-RS 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)
Configurable
null
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()
Configurable
Configurable
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()
Client
getSslContext
in interface Client
public HostnameVerifier getHostnameVerifier()
Client
null
in case no hostname verifier has been configured.getHostnameVerifier
in interface Client
null
if not set.public ExecutorService getExecutorService()
public 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>
Copyright © 2007-2024, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.