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_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.
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_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 23.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 23.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 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_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, 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.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.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. Apache HTTP client configuration properties

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

Table A.6. 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.7. Apache 5 HTTP client configuration properties

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

Table A.7. 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.8. Helidon HTTP client configuration properties

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

Table A.8. 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.9. JDK HTTP client configuration properties

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

Table A.9. 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.10. Jetty HTTP client configuration properties

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

Table A.10. 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.11. Netty HTTP client configuration properties

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

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

Constant | Value | Description
--- | --- | ---
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.

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

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

Table A.12. 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`.

Prev |  |
Chapter 29. Migration Guide | Home |