Class ClientProperties


  • public final class ClientProperties
    extends java.lang.Object
    Jersey client implementation configuration properties.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ClientProperties()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, java.lang.Class<T> type)
      Get the value of the specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, T defaultValue)
      Get the value of the specified property.
      static <T> T getValue​(java.util.Map<java.lang.String,​?> properties, java.lang.String key, T defaultValue, java.lang.Class<T> type)
      Get the value of the specified property.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • FOLLOW_REDIRECTS

        public static final java.lang.String FOLLOW_REDIRECTS
        Automatic redirection. A value of true declares that the client will automatically redirect to the URI declared in 3xx responses.

        The value MUST be an instance convertible to Boolean.

        The default value is true.

        The name of the configuration property is "jersey.config.client.followRedirects".

        See Also:
        Constant Field Values
      • READ_TIMEOUT

        public static final java.lang.String READ_TIMEOUT
        Read timeout interval, in milliseconds.

        The value MUST be an instance convertible to Integer. A value of zero (0) is equivalent to an interval of infinity.

        The default value is infinity (0).

        The name of the configuration property is "jersey.config.client.readTimeout".

        See Also:
        Constant Field Values
      • CONNECT_TIMEOUT

        public static final java.lang.String CONNECT_TIMEOUT
        Connect timeout interval, in milliseconds.

        The value MUST be an instance convertible to Integer. A value of zero (0) is equivalent to an interval of infinity.

        The default value is infinity (0).

        The name of the configuration property is "jersey.config.client.connectTimeout".

        See Also:
        Constant Field Values
      • CHUNKED_ENCODING_SIZE

        public static final java.lang.String CHUNKED_ENCODING_SIZE
        The value MUST be an instance convertible to Integer.

        The property defines the size of the chunk in bytes. The property does not enable chunked encoding (it is controlled by REQUEST_ENTITY_PROCESSING property).

        A default value is 4096 (since Jersey 2.16).

        The name of the configuration property is "jersey.config.client.chunkedEncodingSize".

        See Also:
        Constant Field Values
      • DEFAULT_CHUNK_SIZE

        public static final int DEFAULT_CHUNK_SIZE
        Default chunk size in HTTP chunk-encoded messages.
        Since:
        2.16
        See Also:
        Constant Field Values
      • ASYNC_THREADPOOL_SIZE

        public static final java.lang.String ASYNC_THREADPOOL_SIZE
        Asynchronous thread pool size.

        The value MUST be an instance of Integer.

        If the property is absent then thread pool used for async requests will be initialized as default cached thread pool, which creates new thread for every new request, see Executors. When a value > 0 is provided, the created cached thread pool limited to that number of threads will be utilized. Zero or negative values will be ignored.

        Note that the property may be ignored if a custom ExecutorServiceProvider is configured to execute asynchronous requests in the client runtime (see ClientAsyncExecutor).

        A default value is not set.

        The name of the configuration property is "jersey.config.client.async.threadPoolSize".

        See Also:
        Constant Field Values
      • BACKGROUND_SCHEDULER_THREADPOOL_SIZE

        public static final java.lang.String BACKGROUND_SCHEDULER_THREADPOOL_SIZE
        Scheduler thread pool size.

        The value MUST be an instance of Integer.

        If the property is absent then thread pool used for background task scheduling will be initialized as default scheduled thread pool executor, which creates new thread for every new request, see Executors. When a value > 0 is provided, the created scheduled thread pool executor limited to that number of threads will be utilized. Zero or negative values will be ignored.

        Note that the property may be ignored if a custom ExecutorServiceProvider is configured to execute background tasks scheduling in the client runtime (see ClientBackgroundScheduler).

        A default value is not set.

        The name of the configuration property is "jersey.config.client.backgroundScheduler.threadPoolSize".

        See Also:
        Constant Field Values
      • USE_ENCODING

        public static final java.lang.String USE_ENCODING
        If EncodingFilter is registered, this property indicates the value of Content-Encoding property the filter should be adding.

        The value MUST be an instance of String.

        The default value is null.

        The name of the configuration property is "jersey.config.client.useEncoding".

        See Also:
        Constant Field Values
      • OUTBOUND_CONTENT_LENGTH_BUFFER

        public static final java.lang.String OUTBOUND_CONTENT_LENGTH_BUFFER
        An integer value that defines the buffer size used to buffer client-side request entity in order to determine its size and set the value of HTTP "Content-Length" header.

        If the entity size exceeds the configured buffer size, the buffering would be cancelled and the entity size would not be determined. Value less or equal to zero disable the buffering of the entity at all.

        This property can be used on the client side to override the outbound message buffer size value - default or the global custom value set using the "jersey.config.contentLength.buffer" global property.

        The default value is 8192.

        The name of the configuration property is "jersey.config.client.contentLength.buffer".

        This constant is an alias for CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER_CLIENT.

        Since:
        2.2
        See Also:
        Constant Field Values
      • SUPPRESS_HTTP_COMPLIANCE_VALIDATION

        public static final java.lang.String SUPPRESS_HTTP_COMPLIANCE_VALIDATION
        If true, the strict validation of HTTP specification compliance will be suppressed.

        By default, Jersey client runtime performs certain HTTP compliance checks (such as which HTTP methods can facilitate non-empty request entities etc.) in order to fail fast with an exception when user tries to establish a communication non-compliant with HTTP specification. Users who need to override these compliance checks and avoid the exceptions being thrown by Jersey client runtime for some reason, can set this property to true. As a result, the compliance issues will be merely reported in a log and no exceptions will be thrown.

        Note that the property suppresses the Jersey layer exceptions. Chances are that the non-compliant behavior will cause different set of exceptions being raised in the underlying I/O connector layer.

        This property can be configured in a client runtime configuration or directly on an individual request. In case of conflict, request-specific property value takes precedence over value configured in the runtime configuration.

        The default value is false.

        The name of the configuration property is "jersey.config.client.suppressHttpComplianceValidation".

        Since:
        2.2
        See Also:
        Constant Field Values
      • DIGESTAUTH_URI_CACHE_SIZELIMIT

        public static final java.lang.String DIGESTAUTH_URI_CACHE_SIZELIMIT
        The property defines the size of digest cache in the HttpAuthenticationFeature.digest() digest filter}. Cache contains authentication schemes for different request URIs. The value MUST be an instance of Integer and it must be higher or equal to 1.

        The default value is 1000.

        The name of the configuration property is "jersey.config.client.digestAuthUriCacheSizeLimit".

        Since:
        2.3
        See Also:
        Constant Field Values
      • PROXY_URI

        public static final java.lang.String PROXY_URI
        The property defines a URI of a HTTP proxy the client connector should use.

        If the port component of the URI is absent then a default port of 8080 is assumed. If the property absent then no proxy will be utilized.

        The value MUST be an instance of String.

        The default value is null.

        The name of the configuration property is "jersey.config.client.proxy.uri".

        Since:
        2.5
        See Also:
        Constant Field Values
      • PROXY_USERNAME

        public static final java.lang.String PROXY_USERNAME
        The property defines a user name which will be used for HTTP proxy authentication.

        The property is ignored if no HTTP proxy URI has been set. If the property absent then no proxy authentication will be utilized.

        The value MUST be an instance of String.

        The default value is null.

        The name of the configuration property is "jersey.config.client.proxy.username".

        Since:
        2.5
        See Also:
        Constant Field Values
      • PROXY_PASSWORD

        public static final java.lang.String PROXY_PASSWORD
        The property defines a user password which will be used for HTTP proxy authentication.

        The property is ignored if no HTTP proxy URI has been set. If the property absent then no proxy authentication will be utilized.

        The value MUST be an instance of String.

        The default value is null.

        The name of the configuration property is "jersey.config.client.proxy.password".

        Since:
        2.5
        See Also:
        Constant Field Values
      • REQUEST_ENTITY_PROCESSING

        public static final java.lang.String REQUEST_ENTITY_PROCESSING
        The property specified how the entity should be serialized to the output stream by the connector; if the buffering should be used or the entity is streamed in chunked encoding.

        The value MUST be an instance of String or an enum value RequestEntityProcessing in the case of programmatic definition of the property. Allowed values are:

        • BUFFERED: the entity will be buffered and content length will be send in Content-length header.
        • CHUNKED: chunked encoding will be used and entity will be streamed.

        Default value is CHUNKED. However, due to limitations some connectors can define different default value (usually if the chunked encoding cannot be properly supported on the Connector). This detail should be specified in the javadoc of particular connector. For example, HttpUrlConnector use buffering as the default mode.

        The name of the configuration property is "jersey.config.client.request.entity.processing".

        Since:
        2.5
        See Also:
        Constant Field Values
    • Constructor Detail

      • ClientProperties

        private ClientProperties()
    • Method Detail

      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     T defaultValue)
        Get the value of the specified property.

        If the property is not set or the real value type is not compatible with defaultValue type, the specified defaultValue is returned. Calling this method is equivalent to calling ClientProperties.getValue(properties, key, defaultValue, (Class<T>) defaultValue.getClass()).

        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        defaultValue - Default value if property is not registered
        Returns:
        Value of the property or null.
        Since:
        2.8
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     T defaultValue,
                                     java.lang.Class<T> type)
        Get the value of the specified property.

        If the property is not set or the real value type is not compatible with the specified value type, returns defaultValue.

        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        defaultValue - Default value if property is not registered
        type - Type to retrieve the value as.
        Returns:
        Value of the property or null.
        Since:
        2.8
      • getValue

        public static <T> T getValue​(java.util.Map<java.lang.String,​?> properties,
                                     java.lang.String key,
                                     java.lang.Class<T> type)
        Get the value of the specified property.

        If the property is not set or the actual property value type is not compatible with the specified type, the method will return null.

        Type Parameters:
        T - Type of the property value.
        Parameters:
        properties - Map of properties to get the property value from.
        key - Name of the property.
        type - Type to retrieve the value as.
        Returns:
        Value of the property or null.
        Since:
        2.8