Class JerseyClientBuilder
- java.lang.Object
-
- jakarta.ws.rs.client.ClientBuilder
-
- org.glassfish.jersey.client.JerseyClientBuilder
-
- All Implemented Interfaces:
Configurable<ClientBuilder>
public class JerseyClientBuilder extends ClientBuilder
Jersey provider ofJAX-RS client builder.- Author:
- Marek Potociar
-
-
Field Summary
-
Fields inherited from class jakarta.ws.rs.client.ClientBuilder
JAXRS_DEFAULT_CLIENT_BUILDER_PROPERTY
-
-
Constructor Summary
Constructors Constructor Description JerseyClientBuilder()Create new Jersey client builder instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JerseyClientbuild()Build a new client instance using all the configuration previously specified in this client builder.ClientBuilderconnectTimeout(long timeout, TimeUnit unit)Set the connect timeout.static JerseyClientcreateClient()Create a new custom-configuredJerseyClientinstance.static JerseyClientcreateClient(Configuration configuration)Create a new custom-configuredJerseyClientinstance.ClientBuilderexecutorService(ExecutorService executorService)Set the client-sideExecutorService.ClientConfiggetConfiguration()Get a live view of an internal configuration state of this configurable instance.JerseyClientBuilderhostnameVerifier(HostnameVerifier hostnameVerifier)Set the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.JerseyClientBuilderkeyStore(KeyStore keyStore, char[] password)Set the client-side key store.JerseyClientBuilderproperty(String name, Object value)Set the new configuration property, if already set, the existing value of the property will be updated.ClientBuilderreadTimeout(long timeout, TimeUnit unit)Set the read timeout.JerseyClientBuilderregister(Class<?> componentClass)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Class<?> componentClass, int priority)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Class<?> componentClass, Class<?>... contracts)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Class<?> componentClass, Map<Class<?>,Integer> contracts)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Object component)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Object component, int priority)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Object component, Class<?>... contracts)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.JerseyClientBuilderregister(Object component, Map<Class<?>,Integer> contracts)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ClientBuilderscheduledExecutorService(ScheduledExecutorService scheduledExecutorService)Set the client-sideScheduledExecutorService.JerseyClientBuildersslContext(SSLContext sslContext)Set the SSL context that will be used when creating secured transport connections to server endpoints fromweb targetscreated by the client instance that is using this SSL context.JerseyClientBuildertrustStore(KeyStore trustStore)Set the client-side trust store.JerseyClientBuilderwithConfig(Configuration config)Set the internal configuration state to an externally provided configuration state.-
Methods inherited from class jakarta.ws.rs.client.ClientBuilder
keyStore, newBuilder, newClient, newClient
-
-
-
-
Method Detail
-
createClient
public static JerseyClient createClient()
Create a new custom-configuredJerseyClientinstance.- Returns:
- new configured Jersey client instance.
- Since:
- 2.5
-
createClient
public static JerseyClient createClient(Configuration configuration)
Create a new custom-configuredJerseyClientinstance.- Parameters:
configuration- data used to provide initial configuration for the new Jersey client instance.- Returns:
- new configured Jersey client instance.
- Since:
- 2.5
-
sslContext
public JerseyClientBuilder sslContext(SSLContext sslContext)
Description copied from class:ClientBuilderSet the SSL context that will be used when creating secured transport connections to server endpoints fromweb targetscreated by the client instance that is using this SSL context. The SSL context is expected to have all the security infrastructure initialized, including the key and trust managers.Setting a SSL context instance resets any
key storeortrust storevalues previously specified.- Specified by:
sslContextin classClientBuilder- Parameters:
sslContext- secure socket protocol implementation which acts as a factory for secure socket factories orSSL engines. Must not benull.- Returns:
- an updated client builder instance.
- See Also:
ClientBuilder.keyStore(java.security.KeyStore, char[]),ClientBuilder.keyStore(java.security.KeyStore, String),ClientBuilder.trustStore(java.security.KeyStore)
-
keyStore
public JerseyClientBuilder keyStore(KeyStore keyStore, char[] password)
Description copied from class:ClientBuilderSet the client-side key store. Key store contains client's private keys, and the certificates with their corresponding public keys.Setting a key store instance resets any
SSL context instancevalue previously specified.Note that a custom key store is only required if you want to enable a custom setup of a 2-way SSL connections (client certificate authentication).
- Specified by:
keyStorein classClientBuilder- Parameters:
keyStore- client-side key store. Must not benull.password- client key password. Must not benull.- Returns:
- an updated client builder instance.
- See Also:
ClientBuilder.sslContext(javax.net.ssl.SSLContext),ClientBuilder.keyStore(java.security.KeyStore, String),ClientBuilder.trustStore(java.security.KeyStore)
-
trustStore
public JerseyClientBuilder trustStore(KeyStore trustStore)
Description copied from class:ClientBuilderSet the client-side trust store. Trust store is expected to contain certificates from other parties the client is you expect to communicate with, or from Certificate Authorities that are trusted to identify other parties.Setting a trust store instance resets any
SSL context instancevalue previously specified.In case a custom trust store or custom SSL context is not specified, the trust management will be configured to use the default Java runtime settings.
- Specified by:
trustStorein classClientBuilder- Parameters:
trustStore- client-side trust store. Must not benull.- Returns:
- an updated client builder instance.
- See Also:
ClientBuilder.sslContext(javax.net.ssl.SSLContext),ClientBuilder.keyStore(java.security.KeyStore, char[]),ClientBuilder.keyStore(java.security.KeyStore, String)
-
hostnameVerifier
public JerseyClientBuilder hostnameVerifier(HostnameVerifier hostnameVerifier)
Description copied from class:ClientBuilderSet the hostname verifier to be used by the client to verify the endpoint's hostname against it's identification information.- Specified by:
hostnameVerifierin classClientBuilder- Parameters:
hostnameVerifier- hostname verifier.- Returns:
- an updated client builder instance.
-
executorService
public ClientBuilder executorService(ExecutorService executorService)
Description copied from class:ClientBuilderSet the client-sideExecutorService.Provided executor service will be used for executing asynchronous tasks.
When running in a Jakarta EE container, implementations are required to use the container-managed executor service by default. In Java SE, the default is implementation-specific. In either case, calling this method will override the default.
- Specified by:
executorServicein classClientBuilder- Parameters:
executorService- executor service to be used for async invocations.- Returns:
- an updated client builder instance.
- See Also:
Invocation.Builder.async(),Invocation.Builder.rx(),RxInvokerProvider.getRxInvoker(SyncInvoker, ExecutorService)
-
scheduledExecutorService
public ClientBuilder scheduledExecutorService(ScheduledExecutorService scheduledExecutorService)
Description copied from class:ClientBuilderSet the client-sideScheduledExecutorService.Provided executor service will be used for executing scheduled asynchronous tasks.
When running in a Jakarta EE container, implementations are required to use the container-managed scheduled executor service by default. In Java SE the default is implementation-specific. In either case, calling this method will override the default.
- Specified by:
scheduledExecutorServicein classClientBuilder- Parameters:
scheduledExecutorService- executor service to be used for scheduled async invocations.- Returns:
- an updated client builder instance.
- See Also:
SseEventSource.Builder.reconnectingEvery(long, TimeUnit)
-
connectTimeout
public ClientBuilder connectTimeout(long timeout, TimeUnit unit)
Description copied from class:ClientBuilderSet the connect timeout.Value
0represents infinity. Negative values are not allowed.- Specified by:
connectTimeoutin classClientBuilder- Parameters:
timeout- the maximum time to wait.unit- the time unit of the timeout argument.- Returns:
- an updated client builder instance.
-
readTimeout
public ClientBuilder readTimeout(long timeout, TimeUnit unit)
Description copied from class:ClientBuilderSet the read timeout.The value is the timeout to read a response. If the server doesn't respond within the defined timeframe,
ProcessingExceptionis thrown withTimeoutExceptionas a cause.Value
0represents infinity. Negative values are not allowed.- Specified by:
readTimeoutin classClientBuilder- Parameters:
timeout- the maximum time to wait.unit- the time unit of the timeout argument.- Returns:
- an updated client builder instance.
-
build
public JerseyClient build()
Description copied from class:ClientBuilderBuild a new client instance using all the configuration previously specified in this client builder.- Specified by:
buildin classClientBuilder- Returns:
- a new client instance.
-
getConfiguration
public ClientConfig getConfiguration()
Description copied from interface:ConfigurableGet a live view of an internal configuration state of this configurable instance. Any changes made using methods of thisConfigurableinstance will be reflected in the returnedConfigurationinstance.The returned
Configurationinstance and the collection data it provides are not thread-safe wrt. modification made using methods on the parent configurable object.- Returns:
- configuration live view of the internal configuration state.
-
property
public JerseyClientBuilder property(String name, Object value)
Description copied from interface:ConfigurableSet the new configuration property, if already set, the existing value of the property will be updated. Setting anullvalue into a property effectively removes the property from the property bag.- Parameters:
name- property name.value- (new) property value.nullvalue removes the property with the given name.- Returns:
- the updated configurable instance.
-
register
public JerseyClientBuilder register(Class<?> componentClass)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 asFeatureorDynamicFeature.As opposed to component instances registered via
Configurable.register(Object)method, the lifecycle of components registered using this class-basedregister(...)method is fully managed by the JAX-RS implementation or any underlying IoC container supported by the implementation.- Parameters:
componentClass- JAX-RS component class to be configured in the scope of this configurable context.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Class<?> componentClass, int priority)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation is overridden with the suppliedpriorityvalue.Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied
priorityvalue will be ignored for that contract.- Parameters:
componentClass- JAX-RS component class to be configured in the scope of this configurable context.priority- the overriding priority for the registered component and all the provider contracts the component implements.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Class<?> componentClass, Class<?>... contracts)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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-providercontracts. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Parameters:
componentClass- 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 ornullcollection of contracts via this method and SHOULD raise a warning about such event.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation 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.
- Parameters:
componentClass- 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 notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Object component)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 asFeatureorDynamicFeature.As opposed to components registered via
Configurable.register(Class)method, the lifecycle of providers registered using this instance-basedregister(...)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 (seeContext) by the JAX-RS runtime prior to use.- Parameters:
component- JAX-RS component instance to be configured in the scope of this configurable context.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Object component, int priority)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation is overridden with the suppliedpriorityvalue.Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied
priorityvalue will be ignored for that contract.- Parameters:
component- JAX-RS component instance to be configured in the scope of this configurable context.priority- the overriding priority for the registered component and all the provider contracts the component implements.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Object component, Class<?>... contracts)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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-providercontracts. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Parameters:
component- 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 ornullcollection of contracts via this method and SHOULD raise a warning about such event.- Returns:
- the updated configurable context.
-
register
public JerseyClientBuilder register(Object component, Map<Class<?>,Integer> contracts)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation 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.
- Parameters:
component- 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 notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Returns:
- the updated configurable context.
-
withConfig
public JerseyClientBuilder withConfig(Configuration config)
Description copied from class:ClientBuilderSet the internal configuration state to an externally provided configuration state.- Specified by:
withConfigin classClientBuilder- Parameters:
config- external configuration state to replace the configuration of this configurable instance.- Returns:
- the updated client builder instance.
-
-