Appendix A. Configuration Properties
Prev |  |

Links: Table of Contents | Single HTML

# Appendix A. Configuration Properties

## A.1. Common (client/server) configuration properties

List of common configuration properties that can be found in CommonProperties class. All of these properties can be overridden by their server/client counterparts.

Table A.1. List of common configuration properties

Constant | Value | Description
--- | --- | ---
CommonProperties.ALLOW_SYSTEM_PROPERTIES_PROVIDER | `jersey.config.allowSystemPropertiesProvider` | Property which allows (if true) default System properties configuration provider. Default value is `true`.
CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE / CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE_CLIENT / CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE_SERVER | `jersey.config.disableAutoDiscovery`/ `jersey.config.client.disableAutoDiscovery`/ `jersey.config.server.disableAutoDiscovery` | Disables feature auto discovery globally on client/server. Default value is `false`.
CommonProperties.JSON_BINDING_FEATURE_DISABLE / CommonProperties.JSON_BINDING_FEATURE_DISABLE_CLIENT / CommonProperties.JSON_BINDING_FEATURE_DISABLE_SERVER | `jersey.config.disableJsonBinding` / `jersey.config.client.disableJsonBinding` / `jersey.config.server.disableJsonBinding` | Disables configuration of Json Binding (JSR-367) feature. Default value is `false`. Can also be set as a system property. Since 2.45.
CommonProperties.JSON_BINDING_FEATURE_DISABLE_APPLICATION | `jersey.config.application.disableJsonBinding` | Disables configuration of Json Binding (JSR-367) feature for `jakarta.ws.rs.core.Application` subclasses whose package names are specified as a value. The value is comma-separated string defining prefixes of the application package names. Can also be set as a system property. By default, Json Binding is automatically enabled. Since 2.45.
CommonProperties.JSON_PROCESSING_FEATURE_DISABLE / CommonProperties.JSON_PROCESSING_FEATURE_DISABLE_CLIENT / CommonProperties.JSON_PROCESSING_FEATURE_DISABLE_SERVER | `jersey.config.disableJsonProcessing` / `jersey.config.client.disableJsonProcessing` / `jersey.config.server.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE / CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE_CLIENT / CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE_SERVER | `jersey.config.disableMetainfServicesLookup` / `jersey.config.client.disableMetainfServicesLookup` / `jersey.config.server.disableMetainfServicesLookup` | Disables META-INF/services lookup globally on client/server. Default value is `false`.
CommonProperties.MOXY_JSON_FEATURE_DISABLE / CommonProperties.MOXY_JSON_FEATURE_DISABLE_CLIENT / CommonProperties.MOXY_JSON_FEATURE_DISABLE_SERVER | `jersey.config.disableMoxyJson` / `jersey.config.client.disableMoxyJson` / `jersey.config.server.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER / CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER_CLIENT / CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER_SERVER | `jersey.config.contentLength.buffer` / `jersey.config.client.contentLength.buffer` / `jersey.config.server.contentLength.buffer` | An integer value that defines the buffer size used to buffer the outbound message entity in order to determine its size and set the value of HTTP `Content-Length` header. Default value is `8192`.
CommonProperties.PROVIDER_DEFAULT_DISABLE | `jersey.config.disableDefaultProvider` | Disable some of the default providers from being loaded. The following providers extend application footprint by XML dependencies, which is too heavy for native image, or by AWT which may possibly be not available by JDK 11 desktop:
java.awt.image.RenderedImage
javax.xml.transform.Source
javax.xml.transform.dom.DOMSource
javax.xml.transform.sax.SAXSource
javax.xml.transform.stream.StreamSource
The following are the options to disable the provides: {@code DOMSOURCE, RENDEREDIMAGE, SAXSOURCE, SOURCE, STREAMSOURCE}, or to disable all: {@code ALL}. Multiple options can be disabled by adding multiple comma separated values. Default value is `NULL` @since 2.30
CommonProperties.JSON_JACKSON_ENABLED_MODULES / CommonProperties.JSON_JACKSON_ENABLED_MODULES_CLIENT / CommonProperties.JSON_JACKSON_ENABLED_MODULES_SERVER | `jersey.config.json.jackson.enabled.modules` `jersey.config.client.json.jackson.enabled.modules` `jersey.config.server.json.jackson.enabled.modules` | Comma separated list of jackson modules which shall be used for json-jackson provider. If set, only those modules will be used for JSON processing. Default value is `NULL` @since 2.36
CommonProperties.JSON_JACKSON_DISABLED_MODULES / CommonProperties.JSON_JACKSON_DISABLED_MODULES_CLIENT / CommonProperties.JSON_JACKSON_DISABLED_MODULES_SERVER | `jersey.config.json.jackson.disabled.modules` `jersey.config.client.json.jackson.disabled.modules` `jersey.config.server.json.jackson.disabled.modules` | Comma separated list of jackson modules which shall be excluded from json-jackson provider. If set, those modules will be excluded from JSON processing. Default value is `NULL` @since 2.36
CommonProperties.PARAM_CONVERTERS_THROW_IAE(Jersey 2.40 or later) | `jersey.config.paramconverters.throw.iae` | Force the ParamConverter<T> to throw `IllegalArgumentException` as mandated in javadoc. Must be convertible to `Boolean` value. Internally the `Exception` is caught by Jersey and usually converted to `null` Therefore, the default value is set to `false` to speed up the conversion.
CommonProperties.THREAD_FACTORY(Jersey 3.1.7 or later) | `jersey.config.threads.factory` | Defines the `java.util.concurrent.ThreadFactory` to be used by internal default `ExecutorServices`. The default is `java.util.concurrent.Executors#defaultThreadFactory()` on platform threads and`Thread.ofVirtual().factory()` on virtual threads.
CommonProperties.USE_VIRTUAL_THREADS(Jersey 3.1.7 or later) | `jersey.config.threads.use.virtual` | Defines whether the virtual threads should be used by Jersey on JDK 21+ when not using an exact number of threads by `FixedThreadPool`. The default is `false` for this version of Jersey.
LoggingFeature.LOGGING_FEATURE_LOGGER_NAME | `jersey.config.logging.logger.name` | Logger name of the logging filter. See logging chapter for more information. The default value is `org.glassfish.jersey.logging.LoggingFeature`
LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL | `jersey.config.logging.logger.level` | Level of logging filter's logger at which the messages will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_VERBOSITY | `jersey.config.logging.verbosity` | Verbosity of logging filter describes how verbose the logging filter will be. There are 3 possible values `LoggingFeature.Verbosity.HEADERS_ONLY`, `LoggingFeature.Verbosity.PAYLOAD_TEXT` or `LoggingFeature.Verbosity.PAYLOAD_ANY`. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_MAX_ENTITY_SIZE | `jersey.config.logging.entity.maxSize` | The maximum number of bytes of the entity which will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_SEPARATOR | `jersey.config.logging.entity.separator` | Custom logging delimiter for new lines separation. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_REDACT_HEADERS | `jersey.config.logging.headers.redact` | The HTTP headers (semicolon separated) to be redacted when logging. See logging chapter for more information.

## A.2. Server configuration properties

List of server configuration properties that can be found in ServerProperties class.

Table A.2. List of server configuration properties

Constant | Value | Description
--- | --- | ---
ServerProperties.APPLICATION_NAME | `jersey.config.server.application.name` | Defines the application name. The name is an arbitrary user defined name which is used to distinguish between Jersey applications in the case that more applications are deployed on the same runtime (container). The name can be used for example for purposes of monitoring by JMX when name identifies to which application deployed MBeans belong to. The name should be unique in the runtime. The property does not have a default value.
ServerProperties.BV_FEATURE_DISABLE | `jersey.config.beanValidation.disable.server` | Disables Bean Validation support. Default value is `false`.
ServerProperties .BV_DISABLE_VALIDATE_ON_EXECUTABLE_OVERRIDE_CHECK | `jersey.config.beanValidation .disable.validateOnExecutableCheck.server` | Disables `@ValidateOnExecution` check. Default value is `false`.
ServerProperties.BV_SEND_ERROR_IN_RESPONSE | `jersey.config.beanValidation .enableOutputValidationErrorEntity.server` | Enables sending validation error information to the client. Default value is `false`.
ServerProperties.EMPTY_REQUEST_MEDIA_TYPE_MATCHES_ANY_CONSUMES | `jersey.config.server.empty.request.media.matches.any.consumes` | Jakarta RESTful WebServices provides `@Consumes` annotation to accept only HTTP requests with compatible HTTP `Content-Type` header. However, when the header is missing a wildcard media type is used to match the `@Consumes` annotation. HTTP/1.1 RFC recommends that missing HTTP `Content-Type` header MAY default to `application/octet-stream`. This property makes Jersey consider the missing HTTP `Content-Type` header to be `application/octet-stream` rather than a wildcard media type. However, for a resource method without an entity argument, such as for HTTP GET, a wildcard media type is still considered to accept the HTTP request for the missing HTTP `Content-Type` header. Set this property to `false`, if the empty request media type should not to match applied `@Consumes` annotation on a resource method with an entity argument. The default is `true`.
ServerProperties.FEATURE_AUTO_DISCOVERY_DISABLE | `jersey.config.server.disableAutoDiscovery` | Disables feature auto discovery on server. Default value is `false`.
ServerProperties.HTTP_METHOD_OVERRIDE | `jersey.config.server.httpMethodOverride` | Defines configuration of HTTP method overriding. This property is used by HttpMethodOverrideFilter to determine where it should look for method override information (e.g. request header or query parameters).
ServerProperties.JSON_BINDING_FEATURE_DISABLE | `jersey.config.server.disableJsonBinding` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
ServerProperties.JSON_PROCESSING_FEATURE_DISABLE | `jersey.config.server.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
ServerProperties.LANGUAGE_MAPPINGS | `jersey.config.server.languageMappings` | Defines mapping of URI extensions to languages. The property is used by UriConnegFilter.
ServerProperties.MEDIA_TYPE_MAPPINGS | `jersey.config.server.mediaTypeMappings` | Defines mapping of URI extensions to media types. The property is used by UriConnegFilter.
ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE | `jersey.config.server.disableMetainfServicesLookup` | Disables META-INF/services lookup on server. Default value is `false`.
ServerProperties.MOXY_JSON_FEATURE_DISABLE | `jersey.config.server.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
ServerProperties.MONITORING_ENABLED (Jersey 2.12 or later) | `jersey.config.server .monitoring.statistics.enabled` | If `true`, then application monitoring will be enabled. This will enable the possibility of injecting ApplicationInfo into resource and providers. Default value is `false`.
ServerProperties.MONITORING_STATISTICS_ENABLED | `jersey.config.server .monitoring.enabled` | If `true`, the calculation of monitoring statistics will be enabled. This will enable the possibility of injecting MonitoringStatistics into resource and providers and also the registered listeners implementing MonitoringStatisticsListener will be called when statistics are available for processing. Monitoring statistics extends basic monitoring feature. Therefore when enabled, the monitoring gets automatically enabled too (the same result as setting the property ServerProperties.MONITORING_ENABLED to `true`). Note that enabling statistics may have a negative performance impact and therefore should be enabled only when needed. Default value is `false`.
ServerProperties.MONITORING_STATISTICS_MBEANS_ENABLED | `jersey.config.server .monitoring.statistics.mbeans.enabled` | If `true` then Jersey will expose MBeans for the collected monitoring statistics. Exposed JMX MBeans are based on MonitoringStatistics data and therefore when enabled, the calculation of monitoring statistics gets automatically enabled too (the same result as setting the property ServerProperties.MONITORING_STATISTICS_ENABLED to `true`). Note that enabling MBeans for monitoring statistics may have a negative performance impact and therefore should be enabled only when needed. Default value is `false`.
ServerProperties.MONITORING_STATISTICS_REFRESH_INTERVAL (Jersey 2.10 or later) | `jersey.config.server .monitoring.statistics.refresh.interval` | Interval (in `ms`}) indicating how often will be monitoring statistics refreshed (`onStatistics` method called). Default value is `500`.
ServerProperties.OUTBOUND_CONTENT_LENGTH_BUFFER (Jersey 2.2 or later) | `jersey.config.contentLength.server.buffer` | An integer value that defines the buffer size used to buffer the outbound message entity in order to determine its size and set the value of HTTP `Content-Length` header. Default value is `8192`.
ServerProperties.PROVIDER_CLASSNAMES | `jersey.config.server.provider.classnames` | Defines one or more class names that implement application-specific resources and providers. If the property is set, the specified classes will be instantiated and registered as either application JAX-RS root resources or providers.
ServerProperties.PROVIDER_CLASSPATH | `jersey.config.server.provider.classpath` | Defines class-path that contains application-specific resources and providers. If the property is set, the specified packages will be scanned for JAX-RS root resources and providers.
ServerProperties.PROVIDER_PACKAGES | `jersey.config.server.provider.packages` | Defines one or more packages that contain application-specific resources and providers. If the property is set, the specified packages will be scanned for JAX-RS root resources and providers.
ServerProperties.PROVIDER_SCANNING_RECURSIVE | `jersey.config.server .provider.scanning.recursive` | Sets the recursion strategy for package scanning. Default value is `true`.
ServerProperties.REDUCE_CONTEXT_PATH_SLASHES_ENABLED | `jersey.config.server.reduceContextPathSlashes.enabled` | Ignores multiple slashes between a port and a context path and will resolve it as URI with only one slash. Default value is `false`.
ServerProperties.RESOURCE_VALIDATION_DISABLE | `jersey.config.server .resource.validation.disable` | Disables `Resource` validation. Default value is `false`.
ServerProperties.RESOURCE_VALIDATION_IGNORE_ERRORS | `jersey.config.server .resource.validation.ignoreErrors` | Determines whether validation of application resource models should fail even in case of a fatal validation errors. Default value is `false`.
ServerProperties.WADL_FEATURE_DISABLE | `jersey.config.server.wadl.disableWadl` | Disables WADL generation. Default value is `false`.
ServerProperties.WADL_GENERATOR_CONFIG | `jersey.config.server.wadl.generatorConfig` | Defines the wadl generator configuration that provides a WadlGenerator.
ServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR | `jersey.config.server.response.setStatusOverSendError` | Whenever response status is `4xx` or `5xx` it is possible to choose between `sendError` or `setStatus` on container specific `Response` implementation. E.g. on servlet container Jersey can call `HttpServletResponse.setStatus(...)` or `HttpServletResponse.sendError(...)`. Calling `sendError(...)` method usually resets entity, response headers and provide error page for specified status code (e.g. servlet `error-page` configuration). However if you want to post-process response (e.g. by servlet filter) the only way to do it is calling `setStatus(...)` on container Response object. If property value is `true` the method `Response.setStatus(...)` is used over default `Response.sendError(...)`. Type of the property value is `boolean`. The default value is `false`.
ServerProperties.TRACING | `jersey.config.server.tracing.type` | Enables/disables tracing support. Possible values are `OFF` (default), `ON_DEMAND` and `ALL`. See Section 24.2.1, “Configuration options” for more detail.
ServerProperties.TRACING_THRESHOLD | `jersey.config.server.tracing.threshold` | Sets the amount of detail provided by tracing. Possible values are `SUMMARY`, `TRACE` and `VERBOSE`. See Section 24.2.1, “Configuration options” to learn more about the levels.
ServerProperties.PROCESSING_RESPONSE_ERRORS_ENABLED | `jersey.config.server.exception.processResponseErrors` | If property value is `true` then the errors raised during response processing are tried to be handled using available response error mappers.
ServerProperties.SUBRESOURCE_LOCATOR_CACHE_SIZE | `jersey.config.server.subresource.cache.size` | An integer value that defines the size of cache for sub-resource locator models. The cache is used to provide better performance for application that uses JAX-RS sub-resource locators.
ServerProperties.SUBRESOURCE_LOCATOR_CACHE_AGE | `jersey.config.server.subresource.cache.age` | An integer value that defines the maximum age (in seconds) for cached for sub-resource locator models. The age of an cache entry is defined as the time since the last access (read) to the entry in the cache. Entry aging is not enabled by default.
ServerProperties.SUBRESOURCE_LOCATOR_CACHE_JERSEY_RESOURCE_ENABLED | `jersey.config.server.subresource.cache.jersey.resource.enabled` | If `true` then Jersey will cache Jersey resources in addition to caching sub-resource locator classes and instances (which are cached by default). To make sure the caching is effective in this case you need to return same Jersey Resource instances for same input parameters from resource method. This means that generating new Jersey Resource instances for same input parameters would not have any performance effect and it would only fill-up the cache.
ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_RFC7231 | `jersey.config.server.headers.location.relative.resolution.rfc7231` | If `true` then Jersey will resolve relative URIs in the `Location` http header against the request URI according to `RFC7231` (new HTTP Specification)
ServerProperties.LOCATION_HEADER_RELATIVE_URI_RESOLUTION_DISABLED | `jersey.config.server.headers.location.relative.resolution.disabled` | If `true`, Jersey will not resolve relative URIs in the `Location` http header.
ServerProperties.UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE | `jersey.config.server.unwrap.completion.stage.writer.enable` | If `true` or not set, message body writer will not use `CompletionStage` as a generic type. The `CompletionStage` value will be unwrapped and the message body writer will be invoked with the unwrapped type.
LoggingFeature.LOGGING_FEATURE_LOGGER_NAME_SERVER | `jersey.config.server.logging.logger.name` | Logger name of the logging filter. See logging chapter for more information. The default value is `org.glassfish.jersey.logging.LoggingFeature`
LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL_SERVER | `jersey.config.server.logging.logger.level` | Level of logging filter's logger at which the messages will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_VERBOSITY_SERVER | `jersey.config.server.logging.verbosity` | Verbosity of logging filter describes how verbose the logging filter will be. There are 3 possible values `LoggingFeature.Verbosity.HEADERS_ONLY`, `LoggingFeature.Verbosity.PAYLOAD_TEXT` or `LoggingFeature.Verbosity.PAYLOAD_ANY`. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_MAX_ENTITY_SIZE_SERVER | `jersey.config.server.logging.entity.maxSize` | The maximum number of bytes of the entity which will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_SEPARATOR_SERVER | `jersey.config.server.logging.entity.separator` | Custom delimiter for new lines separation. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_REDACT_HEADERS_SERVER | `jersey.config.server.logging.headers.redact` | The HTTP headers (semicolon separated) to be redacted when logging. See logging chapter for more information.

## A.3. SeBootstrap and WebServer related configuration properties

List of SeBootstrap configuration properties that can be found in ServerProperties class.

Table A.3. List of SeBootstrap and WebServer configuration properties

Constant | Value | Description
--- | --- | ---
ServerProperties.WEBSERVER_ALLOW_PRIVILEGED_PORTS | `jersey.config.server.bootstrap.webserver.allow.privileged.ports` | Defines whether to allow privileged ports (0-1023) to be used to start the `WebServer` implementation to be chosen from the unused ports when the `SeBootstrap.Configuration` PORT is set to `-1` or unset. The default ports are 80 for HTTP and 443 for HTTPS when `WEBSERVER_ALLOW_PRIVILEGED_PORTS` is `true` or 8080 for HTTP and 8443 for HTTPS when `WEBSERVER_ALLOW_PRIVILEGED_PORTS` is `false`. If `SeBootstrap.Configuration` PORT is set to `0`, the implementation scans for random port (0-65535) when `WEBSERVER_ALLOW_PRIVILEGED_PORTS` is `true`, or (1024-65535) when `WEBSERVER_ALLOW_PRIVILEGED_PORTS` is `false`. The default this is `false`. Use `true` to allow a restricted port number.
ServerProperties.WEBSERVER_AUTO_START | `jersey.config.server.bootstrap.webserver.autostart` | Whether to automatically startup `WebServer` at bootstrap. By default, servers are immediately listening to connections after bootstrap, so no explicit invocation of `WebServer#start()` is needed.
ServerProperties.WEBSERVER_CLASS | `jersey.config.server.bootstrap.webserver.class` | Defines the implementation of `WebServer` to bootstrap. By default auto-selects the first server provider found.

## A.4. Servlet configuration properties

List of servlet configuration properties that can be found in ServletProperties class.

Table A.4. List of servlet configuration properties

Constant | Value | Description
--- | --- | ---
ServletProperties.FILTER_CONTEXT_PATH | `jersey.config.servlet.filter.contextPath` | If set, indicates the URL pattern of the Jersey servlet filter context path.
ServletProperties.FILTER_FORWARD_ON_404 | `jersey.config.servlet.filter.forwardOn404` | If set to `true` and a 404 response with no entity body is returned from either the runtime or the application then the runtime forwards the request to the next filter in the filter chain. This enables another filter or the underlying servlet engine to process the request. Before the request is forwarded the response status is set to 200.
ServletProperties.FILTER_STATIC_CONTENT_REGEX | `jersey.config.servlet.filter.staticContentRegex` | If set the regular expression is used to match an incoming servlet path URI to some web page content such as static resources or JSPs to be handled by the underlying servlet engine.
ServletProperties.JAXRS_APPLICATION_CLASS | `jakarta.ws.rs.Application` | Application configuration initialization property whose value is a fully qualified class name of a class that implements JAX-RS Application.
ServletProperties.PROVIDER_WEB_APP | `jersey.config.servlet.provider.webapp` | Indicates that Jersey should scan the whole web app for application-specific resources and providers.
ServletProperties.QUERY_PARAMS_AS_FORM_PARAMS_DISABLED | `jersey.config.servlet.form.queryParams.disabled` | If `true` then query parameters will not be treated as form parameters (e.g. injectable using @FormParam) in case a Form request is processed by server.
ServletProperties.SERVICE_LOCATOR | `jersey.config.servlet.context.serviceLocator` | Identifies the object that will be used as a parent ServiceLocator in the Jersey WebComponent.

## A.5. Client configuration properties

List of client configuration properties that can be found in ClientProperties class.

Table A.5. List of client configuration properties

Constant | Value | Description
--- | --- | ---
ClientProperties.ASYNC_THREADPOOL_SIZE | `jersey.config.client.async.threadPoolSize` | Asynchronous thread pool size. Default value is not set. Supported with GrizzlyConnectorProvider only..
ClientProperties.BACKGROUND_SCHEDULER_THREADPOOL_SIZE | `jersey.config.client.backgroundScheduler.threadPoolSize` | Scheduler thread pool size. Default value is not set. Support is undefined.
ClientProperties.CHUNKED_ENCODING_SIZE | `jersey.config.client.chunkedEncodingSize` | Chunked encoding size. Default value is `4096`.
ClientProperties.CONNECT_TIMEOUT | `jersey.config.client.connectTimeout` | Read timeout interval, in milliseconds. Default value is `0` (infinity).
ClientProperties.CONNECTOR_PROVIDER(Jersey 2.40 or later) | `jersey.config.client.connector.provider` | Sets the ConnectorProvider class. Overrides the value from META-INF/services. The value MUST be an instance of `String`. The property is recognized by `ClientBuilder`.
ClientProperties.DIGESTAUTH_URI_CACHE_SIZELIMIT | `jersey.config.client.digestAuthUriCacheSizeLimit` | The property defines a URI of a HTTP proxy the client connector should use.
ClientProperties.EXPECT_100_CONTINUE | `jersey.config.client.request.expect.100.continue.processing` | Allows for HTTP Expect:100-Continue being handled by the HttpUrlConnector (default Jersey connector). `Since 2.32`
ClientProperties.EXPECT_100_CONTINUE_THRESHOLD_SIZE | `jersey.config.client.request.expect.100.continue.threshold.size` | Property for threshold size for content length after which Expect:100-Continue header would be applied before the main request. Default threshold size (64kb) after which Expect:100-Continue header would be applied before the main request. `Since 2.32`
ClientProperties.FEATURE_AUTO_DISCOVERY_DISABLE | `jersey.config.client.disableAutoDiscovery` | Disables feature auto discovery on client. Default value is `false`.
ClientProperties.FOLLOW_REDIRECTS | `jersey.config.client.followRedirects` | Declares that the client will automatically redirect to the URI declared in 3xx responses. Default value is `true`.
ClientProperties.JSON_BINDING_FEATURE_DISABLE | `jersey.config.client.disableJsonBinding` | Disables configuration of Json Binding (JSR-367) feature. Default value is `false`.
ClientProperties.JSON_PROCESSING_FEATURE_DISABLE | `jersey.config.client.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE | `jersey.config.disableMetainfServicesLookup.client` | Disables META-INF/services lookup on client. Default value is `false`.
ClientProperties.MOXY_JSON_FEATURE_DISABLE | `jersey.config.client.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
ClientProperties.OUTBOUND_CONTENT_LENGTH_BUFFER (Jersey 2.2 or later) | `jersey.config.client.contentLength.buffer` | An integer value that defines the buffer size used to buffer the outbound message entity in order to determine its size and set the value of HTTP `Content-Length` header. Default value is `8192`.
ClientProperties.PROXY_URI | `jersey.config.client.proxy.uri` | URI of a HTTP proxy the client connector should use. Default value is not set. Currently supported with ApacheConnectorProvider, Apache5ConnectorProvider, GrizzlyConnectorProvider, HelidonConnectorProvider, NettyConnectorProvider, Jetty11ConnectorProvider, and JettyConnectorProvider only.
ClientProperties.PROXY_USERNAME (Jersey 2.5 or later) | `jersey.config.client.proxy.username` | User name which will be used for HTTP proxy authentication. Default value is not set. Currently supported with ApacheConnectorProvider and JettyConnectorProvider only.
ClientProperties.PROXY_PASSWORD (Jersey 2.5 or later) | `jersey.config.client.proxy.password` | Password which will be used for HTTP proxy authentication. Default value is not set. Currently supported with ApacheConnectorProvider and JettyConnectorProvider only.
ClientProperties.READ_TIMEOUT (Jersey 2.5 or later) | `jersey.config.client.readTimeout` | Read timeout interval, in milliseconds. Default value is `0` (infinity).
ClientProperties.REQUEST_ENTITY_PROCESSING (Jersey 2.5 or later) | `jersey.config.client.request.entity.processing` | Defines whether the request entity should be serialized using internal buffer to evaluate content length or chunk encoding should be used. Possible values are `BUFFERED` or `CHUNKED`. Default value is `BUFFERED`.
ClientProperties.SNI_HOST_NAME (Jersey 2.43 or later) | `jersey.config.client.sniHostName` | Sets the host name to be used for calculating the `javax.net.ssl.SNIHostName` during the HTTPS request. Takes precedence over the HTTP HOST header, if set. By default, the `SNIHostName` is set when the HOST HTTP header differs from the HTTP request host. When the property value host name matches the HTTPS request host, the `SNIHostName` is not set, and the HTTP HOST header is not used for setting the `SNIHostName`. This allows for Domain Fronting.
ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION (Jersey 2.2 or later) | `jersey.config.client.suppressHttpComplianceValidation` | If `true`, the strict validation of HTTP specification compliance for client-side requests will be suppressed. When compliance checks are suppressed, any violations will be merely logged as warnings, rather than causing exceptions being raised in Jersey runtime. Default value is `false`.
ClientProperties.SSL_CONTEXT_SUPPLIER | `jersey.config.client.ssl.context.supplier` | The `javax.net.ssl.SSLContext java.util.function.Supplier` to be used to set ssl context in the current HTTP request. Has precedence over the `Client#getSslContext()`. Currently supported by the default `HttpUrlConnector` and by `NettyConnector` only.
ClientProperties.USE_ENCODING | `jersey.config.client.useEncoding` | Indicates the value of `Content-Encoding` property the EncodingFilter should be adding. Default value is not set.
ClientProperties.SNI_HOST_NAME | `jersey.config.client.sniHostName` | Most connectors support HOST header value to be used as an SNIHostName. However, the HOST header is restricted in JDK. `HttpUrlConnector` and `JavaNetHttpConnector` need an extra System Property set to allow HOST header. As an option to HOST header, this property allows the HOST name to be pre-set on a Client and does not need to be set on each request. `Since 3.1.2` The value MUST be an instance of `String`
LoggingFeature.LOGGING_FEATURE_LOGGER_NAME_CLIENT | `jersey.config.client.logging.logger.name` | Logger name of the logging filter. See logging chapter for more information. The default value is `org.glassfish.jersey.logging.LoggingFeature`
LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL_CLIENT | `jersey.config.client.logging.logger.level` | Level of logging filter's logger at which the messages will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_VERBOSITY_CLIENT | `jersey.config.client.logging.verbosity` | Verbosity of logging filter describes how verbose the logging filter will be. There are 3 possible values `LoggingFeature.Verbosity.HEADERS_ONLY`, `LoggingFeature.Verbosity.PAYLOAD_TEXT` or `LoggingFeature.Verbosity.PAYLOAD_ANY`. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_MAX_ENTITY_SIZE_CLIENT | `jersey.config.client.logging.entity.maxSize` | The maximum number of bytes of the entity which will be logged. See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_SEPARATOR_CLIENT | `jersey.config.client.logging.entity.separator` | New line delimiter property (client side). See logging chapter for more information.
LoggingFeature.LOGGING_FEATURE_REDACT_HEADERS_CLIENT | `jersey.config.client.logging.headers.redact` | The HTTP headers (semicolon separated) to be redacted when logging. See logging chapter for more information.

## A.6. Jersey configuration properties for message & entity processing

List of client configuration properties that can be found in MessageProperties class.

Table A.6. List of Apache HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
MessageProperties.DEFLATE_WITHOUT_ZLIB | `jersey.config.deflate.nozlib` | If set to `true`, `DeflateEncoder deflate encoding interceptor` will use non-standard version of the deflate content encoding, skipping the zlib wrapper. Unfortunately, deflate encoding implementations in some products use this non-compliant version, hence the switch. The default value is `false`.
MessageProperties.IO_BUFFER_SIZE | `jersey.config.io.bufferSize` | Value of the property indicates the buffer size to be used for I/O operations on byte and character streams. The property value is expected to be a positive integer otherwise it will be ignored. The default value is value of MessageProperties.IO_DEFAULT_BUFFER_SIZE.
MessageProperties.JAXB_PROCESS_XML_ROOT_ELEMENT | `jersey.config.jaxb.collections.processXmlRootElement` | If set to `true` then XML root element tag name for collections will be derived from `jakarta.xml.bind.annotation.XmlRootElement` annotation value and won't be de-capitalized. The default value is `false`.
MessageProperties.JSON_MAX_STRING_LENGTH | `jersey.config.json.string.length` | The default value is not set and the JSON provider default maximum value is used. If supported by Jackson provider, the default value can differ for each Jackson version. For instance, Jackson 2.14 does not support this setting and the default value is `Integer#MAX_VALUE`, Jackson 2.15.0 has the default value 5_000_000, Jackson 2.15.2 has the default value 20_000_000.
MessageProperties.XML_SECURITY_DISABLE | `jersey.config.xml.security.disable` | If set to `true` XML security features when parsing XML documents will be disabled. The default value is `false`.
MessageProperties.XML_FORMAT_OUTPUT | `jersey.config.xml.formatOutput` | If set to `true` indicates that produced XML output should be formatted if possible. A XML message entity written by a MessageBodyWriter<T> may be formatted for the purposes of human readability provided the respective MessageBodyWriter<T> supports XML output formatting. All JAXB-based message body writers support this property. The default value is `false`.

## A.7. The default HttpUrlConnector properties

List of properties defined in HttpUrlConnectorProvider class.

Table A.7. List of the default HttpUrlConnectorProvider properites

Constant | Value | Description
--- | --- | ---
HttpUrlConnector.SET_METHOD_WORKAROUND | `jersey.config.client.httpUrlConnection.setMethodWorkaround` | A value of `true` declares that the client will try to set unsupported HTTP method to `java.net.HttpURLConnection` via reflection as a workaround for a missing HTTP method. NOTE: Enabling this property may cause security related warnings/errors and it may break when other JDK implementation is used. Use only when you know what you are doing. The value MUST be an instance of `Boolean`. The default value is `false`. Since JDK 16 the JDK internal classes are not opened for reflection and the workaround method does not work, unless `--add-opens java.base/java.net=ALL-UNNAMED` for HTTP requests and additional `--add-opens java.base/sun.net.www.protocol.https=ALL-UNNAMED` for HTTPS (`javax.net.ssl.HttpsUrlConnection`) options are set.
HttpUrlConnectorProvider.USE_FIXED_LENGTH_STREAMING | `jersey.config.client.httpUrlConnector.useFixedLengthStreaming` | If `true`, the `HttpUrlConnector` (if used) will assume the content length from the value of `jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH` request header (if present). When this property is enabled and the request has a valid non-zero content length value specified in its `jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH` request header, that this value will be used as an input to the `java.net.HttpURLConnection#setFixedLengthStreamingMode(int)` method call invoked on the underlying `java.net.HttpURLConnection`. This will also suppress the entity buffering in the `HttpURLConnection`, which is undesirable in certain scenarios, e.g. when streaming large entities. Note that the content length value defined in the request header must exactly match the real size of the entity. If the `jakarta.ws.rs.core.HttpHeaders#CONTENT_LENGTH` header is explicitly specified in a request, this property will be ignored and the request entity will be still buffered by the underlying `HttpURLConnection` infrastructure. This property also overrides the behaviour enabled by the ClientProperties.CHUNKED_ENCODING_SIZE property. Chunked encoding will only be used, if the size is not specified in the header of the request. Note that this property only applies to client run-times that are configured to use the default `HttpUrlConnector` as the client connector. The property is ignored by other connectors. The default value is `false`.

## A.8. Apache HTTP client configuration properties

List of client configuration properties that can be found in ApacheClientProperties class.

Table A.8. List of Apache HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
ApacheClientProperties.CONNECTION_CLOSING_STRATEGY | `jersey.config.apache.client.connectionClosingStrategy` | Strategy that closes the Apache Connection. Accepts an instance of ApacheConnectionClosingStrategy.
ApacheClientProperties.CONNECTION_MANAGER | `jersey.config.apache.client.connectionManager` | Connection Manager which will be used to create `org.apache.http.client.HttpClient`. The value MUST be an instance of `org.apache.http.conn.HttpClientConnectionManager` If the property is absent a default Connection Manager will be used `org.apache.http.impl.conn.BasicHttpClientConnectionManager`. If you want to use this client in multi-threaded environment, be sure you override default value with `org.apache.http.impl.conn.PoolingHttpClientConnectionManager` instance.
ApacheClientProperties.CONNECTION_MANAGER_SHARED | `jersey.config.apache.client.connectionManagerShared` | A value of `true` indicates that configured connection manager should be shared among multiple Jersey client runtime instances. It means that closing a particular client runtime instance does not shut down the underlying connection manager automatically. In such case, the connection manager life-cycle should be fully managed by the application code. To release all allocated resources, caller code should especially ensure `org.apache.http.conn.HttpClientConnectionManager#shutdown()` gets invoked eventually. This property may only be set prior to constructing Apache connector using ApacheConnectorProvider The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
ApacheClientProperties.CREDENTIALS_PROVIDER | `jersey.config.apache.client.credentialsProvider` | The credential provider that should be used to retrieve credentials from a user. Credentials needed for proxy authentication are stored here as well. The value MUST be an instance of `org.apache.http.client.CredentialsProvider`. If the property is absent a default provider will be used.
ApacheClientProperties.DISABLE_COOKIES | `jersey.config.apache.client.handleCookies` | A value of `false` indicates the client should handle cookies automatically using HttpClient's default cookie policy. A value of `true` will cause the client to ignore all cookies. The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
ApacheClientProperties.KEEPALIVE_STRATEGY | `jersey.config.apache.client.keepAliveStrategy` | Apache `ConnectionKeepAliveStrategy` for the `org.apache.http.client.HttpClient`. The value MUST be an instance of `org.apache.http.conn.ConnectionKeepAliveStrategy`. If the property is absent the default keepalive strategy of the Apache HTTP library will be used.
ApacheClientProperties.PREEMPTIVE_BASIC_AUTHENTICATION | `jersey.config.apache.client.preemptiveBasicAuthentication` | A value of `true` indicates that a client should send an authentication request even before the server gives a 401 response. This property may only be set prior to constructing Apache connector using ApacheConnectorProvider. The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
ApacheClientProperties.REQUEST_CONFIG | `jersey.config.apache.client.requestConfig` | Request configuration for the `org.apache.http.client.HttpClient`. Http parameters which will be used to create `org.apache.http.client.HttpClient`. The value MUST be an instance of `org.apache.http.client.config.RequestConfig`. If the property is absent the default request configuration will be used.
ApacheClientProperties.RETRY_HANDLER | `jersey.config.apache.client.retryHandler` | Apache `HttpRequestRetryHandler` which will be used to create `org.apache.http.client.HttpClient`. The value MUST be an instance of `org.apache.http.client.HttpRequestRetryHandler`. If the property is absent a default retry handler will be used (`org.apache.http.impl.client.DefaultHttpRequestRetryHandler`).
ApacheClientProperties.REUSE_STRATEGY | `jersey.config.apache.client.reuseStrategy` | Apache `ConnectionReuseStrategy` for the `org.apache.http.client.HttpClient`. The value MUST be an instance of `org.apache.http.ConnectionReuseStrategy`. If the property is absent the default reuse strategy of the Apache HTTP library will be used.
ApacheClientProperties.USE_SYSTEM_PROPERTIES | `jersey.config.apache.client.useSystemProperties` | A value of `false` indicates the client will use default Apache `Connector` params. A value of `true` will cause the client to take into account the system properties `https.protocols`, `https.cipherSuites`, `http.keepAlive`, `http.maxConnections`. The value MUST be an instance of `Boolean` The default value is `false`.

## A.9. Apache 5 HTTP client configuration properties

List of client configuration properties that can be found in Apache5ClientProperties class.

Table A.9. List of Apache 5 HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
Apache5ClientProperties.CONNECTION_CLOSING_STRATEGY | `jersey.config.apache5.client.connectionClosingStrategy` | Strategy that closes the Apache Connection. Accepts an instance of Apache5ConnectionClosingStrategy.
Apache5ClientProperties.CONNECTION_MANAGER | `jersey.config.apache5.client.connectionManager` | Connection Manager which will be used to create `org.apache.hc.client5.http.classic.HttpClient`. The value MUST be an instance of `org.apache.hc.client5.http.io.HttpClientConnectionManager` If the property is absent a default Connection Manager will be used `org.apache.hc.client5.http.impl.io.BasicHttpClientConnectionManager`. If you want to use this client in multi-threaded environment, be sure you override default value with `org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager` instance.
Apache5ClientProperties.CONNECTION_MANAGER_SHARED | `jersey.config.apache5.client.connectionManagerShared` | A value of `true` indicates that configured connection manager should be shared among multiple Jersey client runtime instances. It means that closing a particular client runtime instance does not shut down the underlying connection manager automatically. In such case, the connection manager life-cycle should be fully managed by the application code. To release all allocated resources, caller code should especially ensure `org.apache.hc.client5.http.io.HttpClientConnectionManager#close()` gets invoked eventually. This property may only be set prior to constructing Apache connector using Apache5ConnectorProvider The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
Apache5ClientProperties.CREDENTIALS_PROVIDER | `jersey.config.apache5.client.credentialsProvider` | The credential provider that should be used to retrieve credentials from a user. Credentials needed for proxy authentication are stored here as well. The value MUST be an instance of `org.apache.hc.client5.http.auth.CredentialsProvider`. If the property is absent a default provider will be used.
ApacheC5lientProperties.DISABLE_COOKIES | `jersey.config.apache5.client.handleCookies` | A value of `false` indicates the client should handle cookies automatically using HttpClient's default cookie policy. A value of `true` will cause the client to ignore all cookies. The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
Apache5ClientProperties.KEEPALIVE_STRATEGY | `jersey.config.apache5.client.keepAliveStrategy` | Apache `ConnectionKeepAliveStrategy` for the `org.apache.hc.client5.http.classic.HttpClient`. The value MUST be an instance of `org.apache.hc.client5.http.ConnectionKeepAliveStrategy`. If the property is absent the default keepalive strategy of the Apache HTTP library will be used.
Apache5ClientProperties.PREEMPTIVE_BASIC_AUTHENTICATION | `jersey.config.apache5.client.preemptiveBasicAuthentication` | A value of `true` indicates that a client should send an authentication request even before the server gives a 401 response. This property may only be set prior to constructing Apache connector using Apache5ConnectorProvider. The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
Apache5ClientProperties.REQUEST_CONFIG | `jersey.config.apache5.client.requestConfig` | Request configuration for the `org.apache.hc.client5.http.classic.HttpClient`. Http parameters which will be used to create `org.apache.hc.client5.http.classic.HttpClient`. The value MUST be an instance of `org.apache.hc.client5.http.config.RequestConfig`. If the property is absent the default request configuration will be used.
Apache5ClientProperties.RETRY_STRATEGY | `jersey.config.apache5.client.retryStrategy` | Apache `HttpRequestRetryStrategy` which will be used to create `org.apache.hc.client5.http.classic.HttpClient`. The value MUST be an instance of `org.apache.hc.client5.http.HttpRequestRetryStrategy`. If the property is absent a default retry handler will be used (`org.apache.hc.client5.http.impl.DefaultHttpRequestRetryStrategy`).
Apache5ClientProperties.REUSE_STRATEGY | `jersey.config.apache5.client.reuseStrategy` | Apache `ConnectionReuseStrategy` for the `org.apache.hc.client5.http.classic.HttpClient`. The value MUST be an instance of `org.apache.hc.core5.http.ConnectionReuseStrategy`. If the property is absent the default reuse strategy of the Apache HTTP library will be used.
Apache5ClientProperties.USE_SYSTEM_PROPERTIES | `jersey.config.apache5.client.useSystemProperties` | A value of `false` indicates the client will use default Apache `Connector` params. A value of `true` will cause the client to take into account the system properties `https.protocols`, `https.cipherSuites`, `http.keepAlive`, `http.maxConnections`. The value MUST be an instance of `Boolean` The default value is `false`.

## A.10. Helidon HTTP client configuration properties

List of client configuration properties that can be found in HelidonClientProperties class.

Table A.10. List of Helidon HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
HelidonClientProperties.CONFIG | `jersey.connector.helidon.config` | A Helidon `io.helidon.Config` instance that is passed to `io.helidon.webclient.WebClient.Builder#config(Config)` if available.

## A.11. JDK HTTP client configuration properties

List of client configuration properties that can be found in JdkConnectorProperties class.

Table A.11. List of Jdk HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
JdkConnectorProperties.CONTAINER_IDLE_TIMEOUT | `jersey.config.client.JdkConnectorProvider.containerIdleTimeout` | Container idle timeout in milliseconds `Integer` value). The default value is `java.net.CookiePolicy#ACCEPT_ORIGINAL_SERVER`.
JdkConnectorProperties.COOKIE_POLICY | `jersey.config.client.JdkConnectorProvider.cookiePolicy` | To set the cookie policy of this cookie manager. When the timeout elapses, the shared thread pool will be destroyed. The default value is JdkConnectorProperties.DEFAULT_CONNECTION_CLOSE_WAIT.
JdkConnectorProperties.CONNECTION_IDLE_TIMEOUT | `jersey.config.client.JdkConnectorProvider.connectionIdleTimeout` | An amount of time in milliseconds (`Integer` value) during which an idle connection will be kept open. The default value is JdkConnectorProperties.DEFAULT_CONNECTION_IDLE_TIMEOUT.
JdkConnectorProperties.MAX_CONNECTIONS_PER_DESTINATION | `jersey.config.client.JdkConnectorProvider.maxConnectionsPerDestination` | A maximum number of open connections per each destination. A destination is determined by the following triple: `host`, `port`, `protocol (HTTP/HTTPS)`. The default value is JdkConnectorProperties.DEFAULT_MAX_CONNECTIONS_PER_DESTINATION.
JdkConnectorProperties.MAX_HEADER_SIZE | `jersey.config.client.JdkConnectorProvider.maxHeaderSize` | A configurable property of HTTP parser. It defines the maximal acceptable size of HTTP response initial line, each header and chunk header. The default value is JdkConnectorProperties.DEFAULT_MAX_HEADER_SIZE.
JdkConnectorProperties.MAX_REDIRECTS | `jersey.config.client.JdkConnectorProvider.maxRedirects` | The maximal number of redirects during single request. Value is expected to be positive `Integer`. The default value is JdkConnectorProperties.DEFAULT_MAX_REDIRECTS. HTTP redirection must be enabled by property ClientProperties.FOLLOW_REDIRECTS, otherwise JdkConnectorProperties.MAX_REDIRECTS is not applied.
JdkConnectorProperties.WORKER_THREAD_POOL_CONFIG | `jersey.config.client.JdkConnectorProvider.workerThreadPoolConfig` | Configuration of the connector thread pool. An instance of `org.glassfish.jersey.jdk.connector.internal.ThreadPoolConfig` is expected.

## A.12. Jetty HTTP client configuration properties

List of client configuration properties that can be found in JettyClientProperties class.

Table A.12. List of Jetty HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
JettyClientProperties.DISABLE_COOKIES | `jersey.config.jetty.client.disableCookies` | A value of `false` indicates the client should handle cookies automatically using HttpClient's default cookie policy. A value of `false` will cause the client to ignore all cookies. The value MUST be an instance of `Boolean`. If the property is absent the default value is `false`.
JettyClientProperties.ENABLE_SSL_HOSTNAME_VERIFICATION | `jersey.config.jetty.client.disableCookies` | A value of `false` indicates the client disable a hostname verification during SSL Handshake. A client will ignore CN value defined in a certificate that is stored in a truststore. The value MUST be an instance of `Boolean`. If the property is absent the default value is `true`.
JettyClientProperties.PREEMPTIVE_BASIC_AUTHENTICATION | `jersey.config.jetty.client.preemptiveBasicAuthentication` | The credential provider that should be used to retrieve credentials from a user. If an `org.eclipse.jetty.client.api.Authentication` mechanism is found, it is then used for the given request, returning an `org.eclipse.jetty.client.api.Authentication.Result`, which is then stored in the `org.eclipse.jetty.client.api.AuthenticationStore` so that subsequent requests can be preemptively authenticated. The value MUST be an instance of `org.eclipse.jetty.client.util.BasicAuthentication`. If the property is absent a default provider will be used.
JettyClientProperties.SYNC_LISTENER_RESPONSE_MAX_SIZE | `jersey.config.jetty.client.syncListenerResponseMaxSize` | Overrides the default Jetty synchronous listener response max buffer size. In practise, this allows you to read larger responses. Size in bytes. If the property is absent, the value is such as specified by Jetty (currently 2MiB).
JettyClientProperties.TOTAL_TIMEOUT | `jersey.config.jetty.client.totalTimeout` | Total timeout interval for request/response conversation, in milliseconds. Opposed to ClientProperties.READ_TIMEOUT. The value MUST be an instance convertible to `Integer`. The value of zero `0` is equivalent to an interval of infinity. The default value is `0` (infinity).

## A.13. Netty HTTP client configuration properties

List of client configuration properties that can be found in NettyClientProperties class.

Table A.13. List of Netty HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
NettyClientProperties.FILTER_HEADERS_FOR_PROXY | `jersey.config.client.filter.headers.proxy` | Filter the HTTP headers for requests (CONNECT) towards the proxy except for `PROXY`-prefixed and `HOST` headers when `true`. The default value is `true` and the headers are filtered out.
NettyClientProperties.IDLE_CONNECTION_PRUNE_TIMEOUT | `jersey.config.client.idleConnectionPruneTimeout` | This property determines the number of seconds the idle connections are kept in the pool before pruned. The default is 60. Specify 0 to disable.
NettyClientProperties.MAX_CONNECTIONS | `jersey.config.client.maxConnections` | This property determines the maximum number of idle connections that will be simultaneously kept alive, per destination. The default is 5. This property is a Jersey alternative to System property `http.maxConnections`. The Jersey property takes precedence over the system property.
NettyClientProperties.MAX_CONNECTIONS_TOTAL | `jersey.config.client.maxTotalConnections` | This property determines the maximum number of idle connections that will be simultaneously kept alive in total, rather than per destination. The default is 60. Specify 0 to disable.
NettyClientProperties.MAX_REDIRECTS | `jersey.config.client.NettyConnectorProvider.maxRedirect` | This property determines the maximal number of redirects during single request. Value is expected to be positive number. Default value is 5. HTTP redirection must be enabled by property org.glassfish.jersey.client.ClientProperties.FOLLOW_REDIRECTS otherwise NettyClientProperties.MAX_REDIRECTS is not applied.
NettyClientProperties.PRESERVE_METHOD_ON_REDIRECT | `jersey.config.client.redirect.preserve.method` | Sets the HTTP POST method to be preserved on HTTP status 301 (MOVED PERMANENTLY) or status 302 (FOUND) when `true` or redirected as GET when `false`. The default value is `true` and the HTTP POST request is not redirected as GET.
NettyClientProperties.EXPECT_100_CONTINUE_TIMEOUT | `jersey.config.client.request.expect.100.continue.timeout` | This timeout is used for waiting for 100-Continue response when 100-Continue is sent by the client. Default timeout value is 500 ms after which Expect:100-Continue feature is ignored. `Since 2.41`
NettyClientProperties.MAX_HEADER_SIZE | `jersey.config.client.netty.maxHeaderSize` | Parameter which allows extending of the header size for the Netty connector Default header size is 8192b. `Since 2.44`
NettyClientProperties.MAX_CHUNK_SIZE | `jersey.config.client.netty.maxChunkSize` | Parameter which allows extending of the chunk size for the Netty connector Default chunk size is 8192b. `Since 2.44`
NettyClientProperties.MAX_INITIAL_LINE_LENGTH | `jersey.config.client.netty.maxInitialLineLength` | Parameter which allows extending of the initial line length for the Netty connector Default initial line length is 4096b. `Since 2.44`

## A.14. Java Net HTTP client configuration properties

List of client configuration properties that can be found in JavaNetHttpClientProperties class.

Table A.14. List of Java Net HTTP client configuration properties

Constant | Value | Description
--- | --- | ---
JavaNetHttpClientProperties.COOKIE_HANDLER | `jersey.config.jnh.client.cookieHandler` | Configuration of the `java.net.CookieHandler` that should be used by the `java.net.http.HttpClient`. If this option is not set, `java.net.http.HttpClient#cookieHandler()` will return an empty `java.util.Optional` and therefore no cookie handler will be used. A provided value to this option has to be of type `java.net.CookieHandler`.
JavaNetHttpClientProperties.SSL_PARAMETERS | `jersey.config.jnh.client.sslParameters` | Configuration of SSL parameters used by the `java.net.http.HttpClient`. If this option is not set, then the `java.net.http.HttpClient` will use <it>implementation specific</it> default values. A provided value to this option has to be of type `javax.net.ssl.SSLParameters`.
JavaNetHttpClientProperties.PREEMPTIVE_BASIC_AUTHENTICATION | `jersey.config.jnh.client.preemptiveBasicAuthentication` | An instance of the Authenticator class which represents an object that knows how to obtain authentication for a network connection should be used. If an `java.net.Authenticator` instance is found, it is then used for the given request. The value MUST be an instance of `java.net.Authenticator`. If the property is absent, no authentication is used.
JavaNetHttpClientProperties.DISABLE_COOKIES | `jersey.config.jnh.client.disableCookies` | A value of `false` indicates the client should handle cookies automatically using HttpClient's default cookie policy. A value of `true` will cause the client to ignore all cookies. The value MUST be an instance of `java.lang.Boolean`. The default value is `false`.
JavaNetHttpClientProperties.HTTP_VERSION | `jersey.config.jnh.client.httpVersion` | HTTP version - if null or instance of HttpClient.Version.HTTP_1_1 the version will be set to HTTP_1_1. If version is HttpClient.Version.HTTP_2 the client will attempt to perform each request using HTTP_2 protocol but if not supported by server, the protocol will be still HTTP_1_1 The value MUST be an instance of `java.net.http.HttpClient.Version`. The default value is `null`.

## A.15. Multipart configuration properties

List of multipart configuration properties that can be found in MultiPartProperties class.

Table A.15. List of multipart configuration properties settable in the MultiPartProperties.MULTI_PART_CONFIG_RESOURCE configuration file.

Constant | Value | Description
--- | --- | ---
MultiPartProperties.BUFFER_THRESHOLD | `jersey.config.multipart.bufferThreshold` | Name of the resource property for the threshold size (in bytes) above which a body part entity will be buffered to disk instead of being held in memory. The default value is MessageProperties.IO_DEFAULT_BUFFER_SIZE
MultiPartProperties.MAX_PARTS | `jersey.config.multipart.maxParts` | Limit the maximum number of parts the multipart entity can have. If the limit is over, the error response status `413 - REQUEST_ENTITY_TOO_LARGE` is returned. By default, the number is unlimited.
MultiPartProperties.MULTI_PART_CONFIG_RESOURCE | `jersey-multipart-config.properties` | Name of a properties resource that (if found in the classpath for this application) will be used to configure the settings returned by our getter methods.
MultiPartProperties.TEMP_DIRECTORY | `jersey.config.multipart.tempDir` | Name of the resource property for the directory to store temporary files containing body parts of multipart message that extends allowed memory threshold. The default value is not set (will be taken from `java.io.tmpdir` system property).

Prev |  |
Chapter 30. Migration Guide | Home |