# Configuration Properties

## Common (client/server) configuration properties

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

List of common configuration properties

Constant | Value | Description
--- | --- | ---
&jersey.common.CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE; | `jersey.config.disableAutoDiscovery` | Disables feature auto discovery globally on client/server. Default value is `false`.
&jersey.common.CommonProperties.JSON_PROCESSING_FEATURE_DISABLE; | `jersey.config.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
&jersey.common.CommonProperties.METAINF_SERVICES_LOOKUP_DISABLE; | `jersey.config.disableMetainfServicesLookup` | Disables META-INF/services lookup globally on client/server. Default value is `false`.
&jersey.common.CommonProperties.MOXY_JSON_FEATURE_DISABLE; | `jersey.config.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
&jersey.common.CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER; | `jersey.config.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`.

## Server configuration properties

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

List of server configuration properties

Constant | Value | Description
--- | --- | ---
&jersey.server.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.
&jersey.server.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 &lit.bv.ValidateOnExecution; check. Default value is `false`.
&jersey.server.ServerProperties.BV_SEND_ERROR_IN_RESPONSE; | `jersey.config.beanValidation .enableOutputValidationErrorEntity.server` | Enables sending validation error information to the client. Default value is `false`.
&jersey.server.ServerProperties.FEATURE_AUTO_DISCOVERY_DISABLE; | `jersey.config.server.disableAutoDiscovery` | Disables feature auto discovery on server. Default value is `false`.
&jersey.server.ServerProperties.HTTP_METHOD_OVERRIDE; | `jersey.config.server.httpMethodOverride` | Defines configuration of HTTP method overriding. This property is used by &jersey.server.HttpMethodOverrideFilter; to determine where it should look for method override information (e.g. request header or query parameters).
&jersey.server.ServerProperties.JSON_PROCESSING_FEATURE_DISABLE; | `jersey.config.server.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
&jersey.server.ServerProperties.LANGUAGE_MAPPINGS; | `jersey.config.server.languageMappings` | Defines mapping of URI extensions to languages. The property is used by &jersey.server.UriConnegFilter;.
&jersey.server.ServerProperties.MEDIA_TYPE_MAPPINGS; | `jersey.config.server.mediaTypeMappings` | Defines mapping of URI extensions to media types. The property is used by &jersey.server.UriConnegFilter;.
&jersey.server.ServerProperties.METAINF_SERVICES_LOOKUP_DISABLE; | `jersey.config.server.disableMetainfServicesLookup` | Disables META-INF/services lookup on server. Default value is `false`.
&jersey.server.ServerProperties.MOXY_JSON_FEATURE_DISABLE; | `jersey.config.server.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
&jersey.server.ServerProperties.MONITORING_ENABLED; (Jersey 2.12 or later) | `jersey.config.server .monitoring.statistics.enabled` | If &lit.true;, then application monitoring will be enabled. This will enable the possibility of injecting &jersey.server.monitoring.ApplicationInfo; into resource and providers. Default value is &lit.false;.
&jersey.server.ServerProperties.MONITORING_STATISTICS_ENABLED; | `jersey.config.server .monitoring.enabled` | If &lit.true;, the calculation of monitoring statistics will be enabled. This will enable the possibility of injecting &jersey.server.monitoring.MonitoringStatistics; into resource and providers and also the registered listeners implementing &jersey.server.monitoring.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 &jersey.server.ServerProperties.MONITORING_ENABLED; to &lit.true;). Note that enabling statistics may have a negative performance impact and therefore should be enabled only when needed. Default value is &lit.false;.
&jersey.server.ServerProperties.MONITORING_STATISTICS_MBEANS_ENABLED; | `jersey.config.server .monitoring.statistics.mbeans.enabled` | If &lit.true; then Jersey will expose MBeans for the collected monitoring statistics. Exposed JMX MBeans are based on &jersey.server.monitoring.MonitoringStatistics; data and therefore when enabled, the calculation of monitoring statistics gets automatically enabled too (the same result as setting the property &jersey.server.ServerProperties.MONITORING_STATISTICS_ENABLED; to &lit.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 &lit.false;.
&jersey.server.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`.
&jersey.server.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`.
&jersey.server.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.
&jersey.server.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.
&jersey.server.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.
&jersey.server.ServerProperties.PROVIDER_SCANNING_RECURSIVE; | `jersey.config.server .provider.scanning.recursive` | Sets the recursion strategy for package scanning. Default value is `true`.
&jersey.server.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`.
&jersey.server.ServerProperties.RESOURCE_VALIDATION_DISABLE; | `jersey.config.server .resource.validation.disable` | Disables `Resource` validation. Default value is `false`.
&jersey.server.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`.
&jersey.server.ServerProperties.WADL_FEATURE_DISABLE; | `jersey.config.server.wadl.disableWadl` | Disables WADL generation. Default value is `false`.
&jersey.server.ServerProperties.WADL_GENERATOR_CONFIG; | `jersey.config.server.wadl.generatorConfig` | Defines the wadl generator configuration that provides a &jersey.server.WadlGenerator;.
&jersey.server.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 &lit.true; the method `Response.setStatus(...)` is used over default `Response.sendError(...)`. Type of the property value is `boolean`. The default value is &lit.false;.
&jersey.server.ServerProperties.TRACING; | `jersey.config.server.tracing.type` | Enables/disables tracing support. Possible values are `OFF` (default), `ON_DEMAND` and `ALL`. See for more detail.
&jersey.server.ServerProperties.TRACING_THRESHOLD; | `jersey.config.server.tracing.threshold` | Sets the amount of detail provided by tracing. Possible values are `SUMMARY`, `TRACE` and `VERBOSE`. See to learn more about the levels.
&jersey.server.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.
&jersey.server.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.
&jersey.server.ServerProperties.SUBRESOURCE_LOCATOR_CACHE_SIZE; | `jersey.config.server.subresource.cache.size` | 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.
&jersey.server.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.
&jersey.server.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.

## Servlet configuration properties

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

List of servlet configuration properties

Constant | Value | Description
--- | --- | ---
&jersey.servlet.ServletProperties.FILTER_CONTEXT_PATH; | `jersey.config.servlet.filter.contextPath` | If set, indicates the URL pattern of the Jersey servlet filter context path.
&jersey.servlet.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.
&jersey.servlet.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.
&jersey.servlet.ServletProperties.JAXRS_APPLICATION_CLASS; | `javax.ws.rs.Application` | Application configuration initialization property whose value is a fully qualified class name of a class that implements JAX-RS Application.
&jersey.servlet.ServletProperties.PROVIDER_WEB_APP; | `jersey.config.servlet.provider.webapp` | Indicates that Jersey should scan the whole web app for application-specific resources and providers.
&jersey.servlet.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.
&jersey.servlet.ServletProperties.SERVICE_LOCATOR; | `jersey.config.servlet.context.serviceLocator` | Identifies the object that will be used as a parent ServiceLocator in the Jersey WebComponent.

## Client configuration properties

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

List of client configuration properties

Constant | Value | Description
--- | --- | ---
&jersey.client.ClientProperties.ASYNC_THREADPOOL_SIZE; | `jersey.config.client.async.threadPoolSize` | Asynchronous thread pool size. Default value is not set. Supported with &jersey.grizzly.GrizzlyConnectorProvider; only..
&jersey.client.ClientProperties.CHUNKED_ENCODING_SIZE; | `jersey.config.client.chunkedEncodingSize` | Chunked encoding size. Default value is not set.
&jersey.client.ClientProperties.CONNECT_TIMEOUT; | `jersey.config.client.connectTimeout` | Read timeout interval, in milliseconds. Default value is `0` (infinity).
&jersey.client.ClientProperties.FEATURE_AUTO_DISCOVERY_DISABLE; | `jersey.config.client.disableAutoDiscovery` | Disables feature auto discovery on client. Default value is `false`.
&jersey.client.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`.
&jersey.client.ClientProperties.JSON_PROCESSING_FEATURE_DISABLE; | `jersey.config.client.disableJsonProcessing` | Disables configuration of Json Processing (JSR-353) feature. Default value is `false`.
&jersey.client.ClientProperties.METAINF_SERVICES_LOOKUP_DISABLE; | `jersey.config.disableMetainfServicesLookup.client` | Disables META-INF/services lookup on client. Default value is `false`.
&jersey.client.ClientProperties.MOXY_JSON_FEATURE_DISABLE; | `jersey.config.client.disableMoxyJson` | Disables configuration of MOXy Json feature. Default value is `false`.
&jersey.client.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`.
&jersey.client.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 &jersey.apache.ApacheConnectorProvider; and &jersey.jetty.JettyConnectorProvider; only.
&jersey.client.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 &jersey.apache.ApacheConnectorProvider; and &jersey.jetty.JettyConnectorProvider; only.
&jersey.client.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 &jersey.apache.ApacheConnectorProvider; and &jersey.jetty.JettyConnectorProvider; only.
&jersey.client.ClientProperties.READ_TIMEOUT; (Jersey 2.5 or later) | `jersey.config.client.readTimeout` | Read timeout interval, in milliseconds. Default value is `0` (infinity).
&jersey.client.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`.
&jersey.client.ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION; (Jersey 2.2 or later) | `jersey.config.client.suppressHttpComplianceValidation` | If &lit.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 &lit.false;.
&jersey.client.ClientProperties.USE_ENCODING; | `jersey.config.client.useEncoding` | Indicates the value of `Content-Encoding` property the &jersey.client.EncodingFilter; should be adding. Default value is not set.