MicroProfile Config properties
MicroProfile Config is an API that uses context and dependency injection (CDI) to inject configuration property values directly into an application without the need for application code to retrieve them. You can use MicroProfile Config properties to provide configuration values for other MicroProfile APIs.
For more information about MicroProfile Config, see External configuration of microservices and the Open Liberty MicroProfile Config guides.
The following sections provide tables that list and describe MicroProfile Config properties that are available for different MicroProfile APIs.
MicroProfile Context Propagation
The following MicroProfile Config properties can be specified when MicroProfile Context Propagation is enabled. For more information, see the MicroProfile Context Propagation specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
| Specifies the default value for the | When the |
|
MicroProfile Fault Tolerance
The following MicroProfile Config properties can be specified when MicroProfile Fault Tolerance is enabled. For more information, see the MicroProfile Fault Tolerance specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Overrides a value that is set in a fault tolerance annotation at the method level. | In MicroProfile Fault Tolerance version 3.0 and later, this property is read once per method per bean class, on the first execution of the method. In MicroProfile Fault Tolerance version 2.1 and earlier, it is read once per method per bean instance, on the first execution of the method. |
|
| Overrides a value that is set in a fault tolerance annotation at the annotation level. | In MicroProfile Fault Tolerance version 3.0 and later, this property is read once per method per bean class, on the first execution of the method. In MicroProfile Fault Tolerance version 2.1 and earlier, it is read once per method per bean instance, on the first execution of the method. |
|
| Configures the Fault Tolerance interceptor base priority. This property is available in MicroProfile Fault Tolerance version 2.0 and later. | Application startup |
|
| Disables or enables all metrics that are produced by Fault Tolerance. The default is | Application startup |
|
| Disables or enables all Fault Tolerance annotations except | In MicroProfile Fault Tolerance version 3.0 and later, this property is read once per method per bean class, on the first execution of the method. In MicroProfile Fault Tolerance version 2.1 and earlier, it is read once per method per bean instance, on the first execution of the method. |
|
MicroProfile GraphQL
The following MicroProfile Config properties can be specified when MicroProfile GraphQL is enabled. For more information, see the MicroProfile GraphQL specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Sets the default error message. | When an application throws an unchecked exception. |
|
| Specifies a comma-separated allowlist of unchecked exception messages to be included. By default, all unchecked exceptions are on the blocklist. | When an application throws an unchecked exception. |
|
| Hides a message for a checked exception. By default, all checked exceptions are on the allowlist. | When an application throws a checked exception. |
|
MicroProfile Health
The following MicroProfile Config properties can be specified when MicroProfile Health is enabled. For more information, see the MicroProfile Health specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Set this property to | Application startup |
|
| Set this property to | Application startup |
|
MicroProfile JSON Web Token
The following MicroProfile Config properties can be specified when MicroProfile JSON Web Token (JWT) is enabled. For more information, see the MicroProfile JSON Web Token specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Specifies the Key Management Algorithm for decrypting the Content Encryption Key (CEK) on receiving JWE tokens. This property has no default value. The | On each request to a protected resource. |
|
| Specifies the location of the Key Management Key, which is the private key that is used to decrypt the Content Encryption Key. The Content Encryption Key is then used to decrypt the JSON Web Encryption (JWE) ciphertext. This private key must correspond to the public key that is used to encrypt the Content Encryption Key. This property is available in MicroProfile JSON Web Token 1.2 and later. | On each request to a protected resource. |
|
| Specifies the name of the cookie that is expected to contain a JWT token. The default value is | On each request to a protected resource. |
|
| Controls the HTTP request header that is expected to contain a JWT token. Valid values are either | On each request to a protected resource. |
|
| Specifies a list of allowable | On each request to a protected resource. |
|
| Specifies the clock skew in seconds that is used during the token expiry and age verification. The default value is | On each request to a protected resource. |
|
| Specifies the expected | On each request to a protected resource. |
|
| Specifies the embedded key material of the public key for the MicroProfile JWT signer, in PKCS8, PEM, or JWK(S) format. If no value is found, the | On each request to a protected resource. |
|
| Specifies the public key signature algorithm that is supported by the MicroProfile JWT endpoint. The default value is | On each request to a protected resource. |
|
| Specifies the relative path or full URL of the public key. All relative paths are resolved within the archive that uses the | On each request to a protected resource. |
|
| Specifies the number of seconds since the JWT token was issued. The | On each request to a protected resource. |
|
MicroProfile Metrics
The following MicroProfile Config properties can be specified when MicroProfile Metrics is enabled. For more information, see the MicroProfile Metrics specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Passes the value of the In MicroProfile Metrics 5.0 and later, the | This value is read and evaluated during run time. |
|
| The value for this property is defined at the server level and is used along with the This property is necessary to use with the | Server startup |
|
| Specifies a list of metric names that are paired with custom sets of histogram buckets for the metric to track and output. This property is applicable only to histogram metrics.
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| When the
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| When the
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| Specifies a list of metric names that are paired with custom sets of percentiles for the metric to track and output. This property is applicable only to histogram and timer metrics.
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| Specifies a list of metric names that are paired with a true or false value. This property is applicable only to histogram and timer metrics. If set to true, the metric outputs a default set of histogram buckets.
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| Specifies a list of metric names that are paired with custom sets of histogram buckets for the metric to track and output. This property is applicable only to timer metrics.
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| When the
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| When the
This property is available starting in MicroProfile Metrics 3.0. | Server startup |
|
| When this property is set to true, it enables a user-provided Micrometer registry implementation, where | Server startup |
|
| Specifies property values to configure for a Micrometer-implemented monitoring system. | Server startup |
|
| Specifies the percentile precision of the histogram metrics. The property accepts a value from 1 to 5 and defaults to | Server startup |
|
| Specifies the percentile precision of the timer metrics. The property accepts a value from 1 to 5 and defaults to | Server startup |
|
| Specifies tags for a metric. Tag values that are set through this property must escape equal signs ( | Server startup |
|
MicroProfile OpenAPI
The following MicroProfile Config properties can be specified when MicroProfile OpenAPI is enabled. For more information, see the MicroProfile OpenAPI specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Overrides the | Server startup |
|
| Specifies which modules or applications are included in the generated OpenAPI documentation. The default value is | Server startup |
|
| Sets the | On each request to the |
|
| Specifies the fully qualified name of the OASFilter implementation. | Application startup |
|
| Specifies the fully qualified name of the OASModelReader implementation. | Application startup |
|
| Enables or disables the scanning and processing of Jakarta Bean Validation annotations. The default value is | Application startup |
|
| Specifies a list of classes to scan. | Application startup |
|
| Specifies a list of classes to exclude from scans. | Application startup |
|
| Specifies a list of packages to exclude from scans. Classes within the package and any subpackages are excluded from scans. | Application startup |
|
| Specifies a list of packages to scan. Classes within the package and any subpackages are scanned for annotations. | Application startup |
|
| Specifies a schema for a specific class, in JSON format. The remainder of the property key must be the fully qualified class name. The value must be a valid OpenAPI schema object that is specified in JSON format. This property is functionally equivalent to the | Application startup |
|
| Specifies a list of global servers that provide connectivity information. | Application startup |
|
| Specifies an alternative list of servers to service an operation. Operations that specify an alternative list of servers must define an | Application startup |
|
| Specifies an alternative list of servers to service all operations in a path. | Application startup |
|
MicroProfile Reactive Messaging
The following MicroProfile Config properties can be specified when MicroProfile Reactive Messaging is enabled. For more information, see the MicroProfile Reactive Messaging specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Specifies an incoming channel attribute value. | Application startup |
|
| Specifies an outgoing channel attribute value. | Application startup |
|
| Specifies a connector attribute value. If an attribute is specified for both the channel and its corresponding connector, the value that is set for the channel overrides the value for the connector. | Application startup |
|
MicroProfile Rest Client
The following MicroProfile Config properties can be specified when MicroProfile Rest Client is enabled. For more information, see the MicroProfile Rest Client specification.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Specifies a timeout value in milliseconds to wait to connect to the remote endpoint. | On the processing of a method invocation when the |
|
| Specifies a custom | On the processing of a method invocation when the |
|
| Specifies a boolean value that determines whether the client follows HTTP redirect responses. Any value other than | On the processing of a method invocation when the |
|
| Specifies a keystore location, which can be either a classpath or a file. | On the processing of a method invocation when the |
|
| Specifies the password for the keystore. | On the processing of a method invocation when the |
|
| Specifies the keystore type. The default value is | On the processing of a method invocation when the |
|
| Specifies a comma separated list of fully qualified provider class names to include in the client, the equivalent of the | On the processing of a method invocation when the |
|
| Overrides the priority of the provider for the specified interface. | On the processing of a method invocation when the |
|
| Specifies a string value in the form of proxy : port that defines the HTTP proxy server hostname or IP address and port for requests to this client to use. | On the processing of a method invocation when the |
|
| Specifies an enumerated type 23 string value that determines the format in which multiple values for the same query parameter are used. Possible values are | On the processing of a method invocation when the |
|
| Specifies a timeout value in milliseconds to wait for a response from the remote endpoint. | On the processing of a method invocation when the |
|
| Specifies the fully qualified class name of a CDI scope to use for injection. The default value is | On the processing of a method invocation when the |
|
| Specifies a truststore location, which can be either a classpath or a file. | On the processing of a method invocation when the |
|
| Specifies the password for the truststore. | On the processing of a method invocation when the |
|
| Specifies the truststore type. The default value is | On the processing of a method invocation when the |
|
| Specifies the base URL to use for this service. This property or | On the processing of a method invocation when the |
|
| Specifies the base URL to use for this service. This property or | On the processing of a method invocation when the |
|
| Specifies which headers to propagate from the inbound JAX-RS request to the outbound MicroProfile Rest Client request. The value must be a comma-separated list of headers. | On the processing of a method invocation when the |
|
MicroProfile Telemetry: OpenTelemetry properties
The following OpenTelemetry properties can be specified when MicroProfile Telemetry is enabled. This table lists the most important properties. For the full list, see the OpenTelemtry Java configuration properties.
You can enable OpenTelemetry at the runtime level to gather telemetry data from both the runtime and application. When you choose this option, you specify OpenTelemetry properties in runtime-level configuration sources instead of in application-level microprofile-config.properties
files. In most cases, runtime-level configuration is preferred because it includes both runtime-level telemetry and application-specific telemetry. Alternatively, if your runtime hosts more tha one application, you can enable OpenTelemetry and and configure OpenTelemetry properties at the application level, for example, in microprofile-config.properties` files for each application. However, this option does not enable runtime telemetry. For more information, see OpenTelemetry.
The runtime reads properties in the following table at either application startup or runtime startup, depending on when the OpenTelemetry instance initializes. In cases where each application is configured to use a separate OpenTelemetry instance, the runtime reads the properties at application startup. In cases where all applications on the runtime share a single OpenTelemetry instance, the runtime reads the properties at runtime startup.
Name | Description | When the runtime reads the property | Example |
---|---|---|---|
| Sets the delay interval in milliseconds between two consecutive exports from the Batch LogRecord Processor. The default is | Application startup or runtime startup |
|
| Sets the maximum allowed time in milliseconds to export data from the Batch LogRecord Processor. The default is | Application startup or runtime startup |
|
| Sets the maximum queue size for the Batch LogRecord Processor. The default is | Application startup or runtime startup |
|
| Sets the maximum batch size for the Batch LogRecord Processor. The default is | Application startup or runtime startup |
|
| Sets the endpoint for the Jaeger exporter. The default is http://localhost:14250. | Application startup or runtime startup |
|
| Sets the maximum time, in milliseconds, that the Jaeger exporter waits for each batch export. The default is | Application startup or runtime startup |
|
| Sets the endpoint for the OpenTelemetry Protocol (otlp) exporter. The default is http://localhost:4317 | Application startup or runtime startup |
|
| Sets the endpoint for the Zipkin exporter. The default is http://localhost:9411/api/v2/spans. | Application startup or runtime startup |
|
| You can use this property to change where the logs that OpenTelemetry collects are exported. | Application startup or runtime startup |
|
| By default, metric data is exported at an interval of 60000 milliseconds (one minute). To modify the export interval, specify the new value in milliseconds. For more information, see Periodic exporting MetricReader in the OpenTelemetry documentation. | Application startup or runtime startup |
|
| By default, the maximum allowed time to export data is 30000 milliseconds (30 seconds). To modify the timeout value, specify a new value in milliseconds | Application startup or runtime startup |
|
| You can use this property to change where the metrics that OpenTelemetry collects are exported. | Application startup or runtime startup |
|
| Enables logs, metrics, and traces to be sent to OpenTelemetry. The default is | Application startup or runtime startup |
|
| Sets of the name of the service that OpenTelemetry is tracing. | Application startup or runtime startup |
|
| Sets the exporter that is used to collect traces. Possible values are | Application startup or runtime startup |
|