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.

MicroProfile Config properties for MicroProfile Context Propagation
NameDescriptionWhen the runtime reads the propertyExample

mp.context.ManagedExecutor.cleared

Specifies the default value for the cleared parameter for the ManagedExecutor class.

When the ManagerExecutor.builder() class is used to build a ManagedExecutor instance and the builder does not specify the set of cleared context types.

mp.context.ManagedExecutor.cleared=Remaining

mp.context.ManagedExecutor.maxAsync

Specifies the default value for the maxAsync parameter for the ManagedExecutor class.

When the ManagerExecutor.builder() class is used to build a ManagedExecutor instance and the builder does not specify the maxAsync attribute.

mp.context.ManagedExecutor.maxAsync=10

mp.context.ManagedExecutor.maxQueued

Specifies the default value for the maxQueued parameter for the ManagedExecutor class.

When the ManagerExecutor.builder() class is used to build a ManagedExecutor instance and the builder does not specify the maxQueued attribute.

mp.context.ManagedExecutor.maxQueued=1

mp.context.ManagedExecutor.propagated

Specifies the default value for the propagated parameter for the ManagedExecutor class.

When the ManagerExecutor.builder() class is used to build a ManagedExecutor instance and the builder does not specify the set of propagated context types.

mp.context.ManagedExecutor.propagated=Security,Application

mp.context.ThreadContext.cleared

Specifies the default value for the cleared parameter for the ThreadContext class.

When the ThreadContext.builder() class is used to build a ThreadContext instance and the builder does not specify the set of cleared context types.

mp.context.ManagedExecutor.cleared=Security,Transaction

mp.context.ThreadContext.propagated

Specifies the default value for the propagated parameter for the ThreadContext class.

When the ThreadContext.builder() class is used to build a ThreadContext instance and the builder does not specify the set of propagated context types.

mp.context.ThreadContext.propagated=None

mp.context.ThreadContext.unchanged

Specifies the default value for the unchanged parameter for the ThreadContext class.

When the ThreadContext.unchanged() class is used to build a ThreadContext instance and the builder does not specify the set of cleared unchanged types.

mp.context.ManagedExecutor.unchanged=Remaining

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.

MicroProfile Config properties for MicroProfile Fault Tolerance
NameDescriptionWhen the runtime reads the propertyExample

classname/methodname/annotationname/parametername=newvalue

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.

com.acme.ClassA/methodB/Retry/maxRetries=5

classname/annotationname/parametername=newvalue

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.

com.acme.ClassA/Retry/maxRetries=5

mp.fault.tolerance.interceptor.priority

Configures the Fault Tolerance interceptor base priority. This property is available in MicroProfile Fault Tolerance version 2.0 and later.

Application startup

mp.fault.tolerance.interceptor.priority=1000

MP_Fault_Tolerance_Metrics_Enabled

Disables or enables all metrics that are produced by Fault Tolerance. The default is true. This property is available in MicroProfile Fault Tolerance version 1.1 and later.

Application startup

MP_Fault_Tolerance_Metrics_Enabled=false

MP_Fault_Tolerance_NonFallback_Enabled

Disables or enables all Fault Tolerance annotations except @Fallback. The default is true.

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.

MP_Fault_Tolerance_NonFallback_Enabled=false

MicroProfile GraphQL

The following MicroProfile Config properties can be specified when MicroProfile GraphQL is enabled. For more information, see the MicroProfile GraphQL specification.

MicroProfile Config properties for MicroProfile GraphQL
NameDescriptionWhen the runtime reads the propertyExample

mp.graphql.defaultErrorMessage

Sets the default error message.

When an application throws an unchecked exception.

mp.graphql.defaultErrorMessage=Unexpected failure in the system. Jarvis is working to fix it.

mp.graphql.exceptionsWhiteList

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.

mp.graphql.exceptionsWhiteList=org.eclipse.microprofile.graphql.tck.apps.superhero.api.WeaknessNotFoundException

mp.graphql.exceptionsBlackList

Hides a message for a checked exception. By default, all checked exceptions are on the allowlist.

When an application throws a checked exception.

mp.graphql.exceptionsBlackList=java.io.IOException,java.util.concurrent.TimeoutException

MicroProfile Health

The following MicroProfile Config properties can be specified when MicroProfile Health is enabled. For more information, see the MicroProfile Health specification.

MicroProfile Config properties for MicroProfile Health
NameDescriptionWhen the runtime reads the propertyExample

mp.health.default.readiness.empty.response

Set this property to UP to change the overall default readiness status to UP while deployed applications are starting up. This property is available in MicroProfile Health 3.0 and later.

Application startup

mp.health.default.readiness.empty.response=UP

mp.health.default.startup.empty.response

Set this property to UP to change the overall default startup status to UP while deployed applications are starting up. This property is available in MicroProfile Health 3.1 and later.

Application startup

mp.health.default.startup.empty.response=UP

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.

MicroProfile Config properties for MicroProfile JSON Web Token
NameDescriptionWhen the runtime reads the propertyExample

mp.jwt.decrypt.key.algorithm

Specifies the Key Management Algorithm for decrypting the Content Encryption Key (CEK) on receiving JWE tokens. This property has no default value. The alg header parameter must be present in the JWE and must be the same value as the mp.jwt.decrypt.key.algorithm property. If it is not the same value, then the request is rejected with an unauthorized (401) response. This property is available in MicroProfile JSON Web Token 2.1 and later.

On each request to a protected resource.

mp.jwt.decrypt.key.algorithm=RSA-OAEP

mp.jwt.decrypt.key.location

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.

mp.jwt.decrypt.key.location=privateKey.pem

mp.jwt.token.cookie

Specifies the name of the cookie that is expected to contain a JWT token. The default value is Bearer. This property is available in MicroProfile JSON Web Token 1.2 and later.

On each request to a protected resource.

mp.jwt.token.cookie=myToken

mp.jwt.token.header

Controls the HTTP request header that is expected to contain a JWT token. Valid values are either Authorization, which is the default, or Cookie. This property is available in MicroProfile JSON Web Token 1.2 and later.

On each request to a protected resource.

mp.jwt.token.header=Cookie

mp.jwt.verify.audiences

Specifies a list of allowable aud values. At least one of these values must be found in the claim. This property is available in MicroProfile JSON Web Token 1.2 and later.

On each request to a protected resource.

mp.jwt.verify.audiences=conferenceService

mp.jwt.verify.clock.skew

Specifies the clock skew in seconds that is used during the token expiry and age verification. The default value is 0 seconds. The clockSkew attribute of the mpJwt element has a default value of 5 minutes, which you must disable or it overrides the value of the mp.jwt.verify.clock.skew property. To disable the default and use the property instead, set any negative value for the clockSkew attribute in your server.xml file, for example mpJwt clockSkew= -1m. This property is available in MicroProfile JSON Web Token 2.1 and later.

On each request to a protected resource.

mp.jwt.verify.clock.skew=60

mp.jwt.verify.issuer

Specifies the expected iss claim value to validate against an MicroProfile JWT. This property is available in MicroProfile JSON Web Token 1.1 and later.

On each request to a protected resource.

mp.jwt.verify.issuer=https://example.com/issuer

mp.jwt.verify.publickey

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 mp.jwt.verify.publickey.location value is checked. This property is available in MicroProfile JSON Web Token 1.1 and later.

On each request to a protected resource.

mp.jwt.verify.publickey=MIIEvgIBADANBgkqh…​

mp.jwt.verify.publickey.algorithm

Specifies the public key signature algorithm that is supported by the MicroProfile JWT endpoint. The default value is RSA256. This property is available in MicroProfile JSON Web Token 1.2 and later.

On each request to a protected resource.

mp.jwt.verify.publickey.algorithm=ES256

mp.jwt.verify.publickey.location

Specifies the relative path or full URL of the public key. All relative paths are resolved within the archive that uses the ClassLoader.getResource method. If the value is a URL, it is resolved by using a new URL(“…”).openStream() method. This property is available in MicroProfile JSON Web Token 1.1 and later.

On each request to a protected resource.

mp.jwt.verify.publickey.location=publicKey.pem

mp.jwt.verify.token.age

Specifies the number of seconds since the JWT token was issued. The iat claim must be present in the JWT and the configured number of seconds since iat must not elapse. If the configured number of seconds since iat elapses, then the request is rejected with an unauthorized (401) response. This property is available in MicroProfile JSON Web Token 2.1 and later.

On each request to a protected resource.

mp.jwt.verify.token.age=3600

MicroProfile Metrics

The following MicroProfile Config properties can be specified when MicroProfile Metrics is enabled. For more information, see the MicroProfile Metrics specification.

MicroProfile Config properties for MicroProfile Metrics
NameDescriptionWhen the runtime reads the propertyExample

mp.metrics.appName

Passes the value of the _app tag from the application server to the application. This property is used to avoid metric name collisions when multiple applications are deployed to the runtime. It is defined through a microprofile-config.properties file in the META-INF directory of the application. The value of this tag is appended to the output of each metric that originates from that application.

In MicroProfile Metrics 5.0 and later, the _app tag that is defined in prior releases by the mp.metrics.appName MicroProfile Config property is designated as mp_app. In a MicroProfile Metrics 5.x environment, if the mp.metrics.appName property is defined, you must also define the mp.metrics.defaultAppName property. See the mp.metrics.defaultAppName property description for more information.

This value is read and evaluated during run time.

mp.metrics.appName=myApp

mp.metrics.defaultAppName

The value for this property is defined at the server level and is used along with the mp.metrics.appName property when you run in a MicroProfile Metrics 5.x environment. The value of the mp.metrics.defaultAppName property passes the value of the mp_app tag to metrics that are created on the server level.

This property is necessary to use with the mp.metrics.appName property due to the restriction introduced in MicroProfile Metrics 5.0 that metrics of the same name must contain the same set of tag names. Certain vendor metrics, such as servlet metrics, can create metrics in both the application and server context. The mp.metrics.appName property creates the mp_app tag for the servlet metrics that are created in the application context. However, without a similar tag value that is provided for servlet metrics that are created in the server context, a registration exception is thrown. The mp.metrics.defaultAppName property that is defined at the server level provides the necessary mp_app tag for metrics that are created at the server level.

Server startup

mp.metrics.defaultAppName=serverContext

mp.metrics.distribution.histogram.buckets

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.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and comma-separated bucket values.

  • Accepts a comma-separated list of float and integer values greater than 0.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no bucket values or invalid values has no effect. Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.histogram.buckets=test.alpha.histogram=10.0,50.0,100.0;test.beta.histogram=30.0,50.0,123

mp.metrics.distribution.histogram.max-value

When the mp.metrics.distribution.percentiles-histogram.enabled property is configured to provide a default set of histogram buckets for a histogram metric, this property configures a upper bound for that default set of histogram buckets.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and a value:

  • Properties accept float or integer values greater than 0.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no value or an invalid value has no effect.

  • Value precedence is right to left so values that are defined later in the property definition take precedence over earlier values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.histogram.max-value=test.histogram=120

mp.metrics.distribution.histogram.min-value

When the mp.metrics.distribution.percentiles-histogram.enabled property is configured to provide a default set of histogram buckets for a histogram metric, this property configures a lower bound for that default set of histogram buckets.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and a value.

  • Properties accept float or integer values greater than 0.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no value or an invalid value has no effect.

  • Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.histogram.min-value=test.histogram=50

mp.metrics.distribution.percentiles

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.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and comma-separated percentile values.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • The percentile values are float values between 0.0 and 1.0, inclusively. Invalid values are ignored.

  • Setting the property with a metric name but no percentile values disables percentile output for that metric.

  • Setting the property without any value disables percentiles for all histogram and timer metrics.

  • Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.percentiles=test.histogram=0.8,0.86,0.95;test.timer=0.9,0.99;test.=0.5,0.6;other.=

mp.metrics.distribution.percentiles-histogram.enabled

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.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and either true or `false.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no values or invalid values has no effect.

  • Values defined later take precedence over values before. Precedence is right to left.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.percentiles-histogram.enabled=test.timer=true;test.histogram=false

mp.metrics.distribution.timer.buckets

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.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and comma-separated bucket values.

  • The property accepts a comma-separated list of integers with an appended time unit (valid time units are ms for milliseconds, s for seconds, m for minutes and h for hours). Float values are not accepted. Values with no time unit default to milliseconds.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no bucket values or invalid values has no effect.

  • Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.timer.buckets=test.*=50s,100s;test.alpha.timer=100,500ms,1s

mp.metrics.distribution.timer.max-value

When the mp.metrics.distribution.percentiles-histogram.enabled property is configured to provide a default set of histogram buckets for a timer metric, this property configures an upper bound for that default set of histogram buckets.

  • The property accepts a semicolon-separated set of values that define a metric name followed by an equals sign (=) and a value:

  • Properties accept float or integer values greater than 0.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no value or an invalid value has no effect.

  • Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.histogram.max-value=test.timer=5s

mp.metrics.distribution.timer.min-value

When the mp.metrics.distribution.percentiles-histogram.enabled property is configured to provide a default set of histogram buckets for a timer metric, this property configures a lower bound for that default set of histogram buckets.

  • The property accepts a semicolon-separated set of values that consist of a metric name followed by an equals sign (=) and a value:

  • Properties accept float or integer values greater than 0.

  • The asterisk (*) can be used as a wildcard at the end of the metric name.

  • Defining a metric name with no value or an invalid value has no effect.

  • Value precedence is right to left so values that are specified later in the property definition take precedence over previously specified values.

This property is available starting in MicroProfile Metrics 3.0.

Server startup

mp.metrics.distribution.histogram.min-value=test.timer=200

mp.metrics.<registry>.enabled

When this property is set to true, it enables a user-provided Micrometer registry implementation, where <registry> is the name of the Micrometer registry. For more information, see Choose your own monitoring tools with MicroProfile Metrics. This property is available starting in MicroProfile Metrics 5.0.

Server startup

mp.metrics.elastic.enabled=true

mp.metrics.<registry>.<property>

Specifies property values to configure for a Micrometer-implemented monitoring system. <registry> is the Micrometer registry value for the monitoring system, and `<property>`is the name of the property in that system that you want to specify a value for. For more information, see Choose your own monitoring tools with MicroProfile Metrics. This property is available starting in MicroProfile Metrics 5.0.

Server startup

mp.metrics.elastic.index=micrometer-metrics

mp.metrics.smallrye.histogram.precision

Specifies the percentile precision of the histogram metrics. The property accepts a value from 1 to 5 and defaults to 3 if no value is specified. A greater value results in more exact percentile calculations, but at a greater memory cost. This property is available starting in MicroProfile Metrics 5.0.

Server startup

mp.metrics.smallrye.histogram.precision=4

mp.metrics.smallrye.timer.precision

Specifies the percentile precision of the timer metrics. The property accepts a value from 1 to 5 and defaults to 3 if no value is specified. A greater value results in more exact percentile calculations, but at a greater memory cost. This property is available starting in MicroProfile Metrics 5.0.

Server startup

mp.metrics.smallrye.timer.precision=4

mp.metrics.tags

Specifies tags for a metric. Tag values that are set through this property must escape equal signs (=) and commas (,) with a backslash (\). The values of these tags are appended to the output of each metric.

Server startup

mp.metrics.tags=app=shop,tier=integration,special=deli\=ver\,y

MicroProfile OpenAPI

The following MicroProfile Config properties can be specified when MicroProfile OpenAPI is enabled. For more information, see the MicroProfile OpenAPI specification.

MicroProfile Config properties for MicroProfile OpenAPI
NameDescriptionWhen the runtime reads the propertyExample

mp.openapi.extensions.liberty.merged.exclude

Overrides the mp.openapi.extensions.liberty.merged.include property to specify which applications or web modules are excluded from the generated OpenAPI documentation. The default value is none. This property is available in MicroProfile OpenAPI 2.0 and later. For more information, see Multiple application and multi-module application support with MicroProfile OpenAPI.

Server startup

mp.openapi.extensions.liberty.merged.exclude=app1,app2

mp.openapi.extensions.liberty.merged.include

Specifies which modules or applications are included in the generated OpenAPI documentation. The default value is first. This property is available in MicroProfile OpenAPI 2.0 and later. For more information, see Multiple application and multi-module application support with MicroProfile OpenAPI.

Server startup

mp.openapi.extensions.liberty.merged.exclude=app1/module2,app2

mp.openapi.extensions.liberty.merged.info

Sets the info section of the final Open API document. If this property is set, the info section in the final OpenAPI document is replaced with the value of the property. This replacement is made after any merging is completed. The value must be a valid OpenAPI info section in JSON format. This property is available in MicroProfile OpenAPI 2.0 and later. For more information, see Multiple application and multi-module application support with MicroProfile OpenAPI.

On each request to the /openapi endpoint.

mp.openapi.extensions.liberty.merged.info= valid OpenAPI info section in JSON format

mp.openapi.filter

Specifies the fully qualified name of the OASFilter implementation.

Application startup

mp.openapi.filter=com.mypackage.MyFilter

mp.openapi.model.reader

Specifies the fully qualified name of the OASModelReader implementation.

Application startup

mp.openapi.model.reader=com.mypackage.MyModelReader

mp.openapi.scan.beanvalidation

Enables or disables the scanning and processing of Jakarta Bean Validation annotations. The default value is true. This property is available in MicroProfile OpenAPI 3.1 and later.

Application startup

mp.openapi.scan.beanvalidation=false

mp.openapi.scan.classes

Specifies a list of classes to scan.

Application startup

mp.openapi.scan.classes=com.xyz.MyClassA,com.xyz.MyClassB

mp.openapi.scan.exclude.classes

Specifies a list of classes to exclude from scans.

Application startup

mp.openapi.scan.exclude.classes=com.xyz.MyClassC,com.xyz.MyClassD

mp.openapi.scan.exclude.packages

Specifies a list of packages to exclude from scans. Classes within the package and any subpackages are excluded from scans.

Application startup

mp.openapi.scan.exclude.packages=com.xyz.packageC,com.xyz.packageD

mp.openapi.scan.packages

Specifies a list of packages to scan. Classes within the package and any subpackages are scanned for annotations.

Application startup

mp.openapi.scan.packages=com.xyz.packageA,com.xyz.packageB

mp.openapi.schema

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 @Schema annotation on a Java class. However, it can be used in cases where the application developer does not have access to the source code of a class. This property is available in MicroProfile OpenAPI 2.0 and later.

Application startup

mp.openapi.schema.java.util.Date= valid OpenAPI schema in JSON format

mp.openapi.servers

Specifies a list of global servers that provide connectivity information.

Application startup

mp.openapi.servers=https://xyz.com/v1,https://abc.com/v1

mp.openapi.servers.operation.operationID

Specifies an alternative list of servers to service an operation. Operations that specify an alternative list of servers must define an operationId, which is a unique string that identifies the operation.

Application startup

mp.openapi.servers.operation.getBooking=https://abc.io/v1

mp.openapi.servers.path.some/path

Specifies an alternative list of servers to service all operations in a path.

Application startup

mp.openapi.servers.path./airlines/bookings/{id}=https://xyz.io/v1

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.

MicroProfile Config properties for MicroProfile Reactive Messaging
NameDescriptionWhen the runtime reads the propertyExample

mp.messaging.incoming.channel-name.attribute

Specifies an incoming channel attribute value.

Application startup

mp.messaging.incoming.my-channel.topic=my-topic

mp.messaging.outgoing.channel-name.attribute

Specifies an outgoing channel attribute value.

Application startup

mp.messaging.outgoing.my-channel.connector=io.openliberty.kafka

mp.messaging.connector.connector-id.attribute

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

mp.messaging.connector.io.openliberty.kafka.bootstrap.servers=mybrokerhostname

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.

MicroProfile Config properties for MicroProfile Rest Client
NameDescriptionWhen the runtime reads the propertyExample

client interface name/mp-rest/connectTimeout

Specifies a timeout value in milliseconds to wait to connect to the remote endpoint.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/connectTimeout=25

client interface name/mp-rest/hostnameVerifier

Specifies a custom HostnameVerifier instance to determine if an SSL connection that fails on a URL hostname and server identification hostname mismatch is allowed. The class must have a public no-argument constructor.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/hostnameVerifier=myVerifierClass

client interface name/mp-rest/followRedirects

Specifies a boolean value that determines whether the client follows HTTP redirect responses. Any value other than true is interpreted as false.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/followRedirects=true

client interface name/mp-rest/keyStore

Specifies a keystore location, which can be either a classpath or a file.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/keyStore=file:/home/user/client-keystore.p12

client interface name/mp-rest/keyStorePassword

Specifies the password for the keystore.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/keyStorePassword=myPassword

client interface name/mp-rest/keyStoreType

Specifies the keystore type. The default value is JKS.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/keyStoreType=pcks12

client interface name/mp-rest/providers

Specifies a comma separated list of fully qualified provider class names to include in the client, the equivalent of the register method or the @RegisterProvider annotation.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/providers=myClass1,myClass2

client interface name/mprest/providers/interface name/priority

Overrides the priority of the provider for the specified interface.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/providers/com.mycompany.MyProvider/priority=3

`client interface name/mp-rest/proxyAddress

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 RestClient bean is created.

myClient/mp-rest/proxyAddress=http://exampleproxy:9041

client interface name/mp-rest/queryParamStyle

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 MULTI_PAIRS COMMA_SEPARATED, or ARRAY_PAIRS. The default value is MULTI_PAIRS.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/queryParamStyle=ARRAY_PAIRS

client interface name/mp-rest/readTimeout

Specifies a timeout value in milliseconds to wait for a response from the remote endpoint.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/readTimeout=25

client interface name/mp-rest/scope

Specifies the fully qualified class name of a CDI scope to use for injection. The default value is jakarta.enterprise.context.Dependent.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/scope=jakarta.inject.Singleton

client interface name/mp-rest/trustStore

Specifies a truststore location, which can be either a classpath or a file.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/trustStore=file:/home/user/client-truststore.p12

client interface name/mp-rest/trustStorePassword

Specifies the password for the truststore.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/trustStorePassword=myPassword

client interface name/mp-rest/trustStoreType

Specifies the truststore type. The default value is JKS.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/trustStoreType=pcks12

client interface name/mp-rest/url

Specifies the base URL to use for this service. This property or */mp-rest/uri is considered required. However, some implementations might have other ways to define these URLs/URIs.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/url=http://example.com

client interface name/mp-rest/uri

Specifies the base URL to use for this service. This property or */mp-rest/url is considered required. However, some implementations might have other ways to define these URLs/URIs. This property overrides any baseUri value that is specified in the @RegisterRestClient annotation.

On the processing of a method invocation when the RestClient bean is created.

myClient/mp-rest/uri=http://somehost:9080/someContextRoot

org.eclipse.microprofile.rest.client.propagateHeaders

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 RestClient bean is created.

org.eclipse.microprofile.rest.client.propagateHeaders==Authorization,Cookie

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.

OpenTelemetry properties enabled by MicroProfile Telemetry
NameDescriptionWhen the runtime reads the propertyExample

otel.blrp.export.timeout

Sets the delay interval in milliseconds between two consecutive exports from the Batch LogRecord Processor. The default is 30000.

Application startup or runtime startup

otel.blrp.export.timeout=50000

otel.blrp.schedule.delay

Sets the maximum allowed time in milliseconds to export data from the Batch LogRecord Processor. The default is 1000.

Application startup or runtime startup

otel.blrp.schedule.delay=5000

otel.blrp.max.queue.size

Sets the maximum queue size for the Batch LogRecord Processor. The default is 2048.

Application startup or runtime startup

otel.blrp.max.queue.size=5000

otel.blrp.max.export.batch.size

Sets the maximum batch size for the Batch LogRecord Processor. The default is 512. The value must be Must be less than or equal to the value for otel.blrp.max.queue.size.

Application startup or runtime startup

otel.blrp.max.export.batch.size=1024

otel.exporter.jaeger.endpoint

Sets the endpoint for the Jaeger exporter. The default is http://localhost:14250.

Application startup or runtime startup

otel.exporter.jaeger.endpoint=http://localhost:14251

otel.exporter.jaeger.timeout

Sets the maximum time, in milliseconds, that the Jaeger exporter waits for each batch export. The default is 10000.

Application startup or runtime startup

otel.exporter.jaeger.timeout=20000

otel.exporter.otlp.endpoint

Sets the endpoint for the OpenTelemetry Protocol (otlp) exporter. The default is http://localhost:4317

Application startup or runtime startup

otel.exporter.otlp.endpoint=http://localhost:4319

otel.exporter.zipkin.endpoint

Sets the endpoint for the Zipkin exporter. The default is http://localhost:9411/api/v2/spans.

Application startup or runtime startup

otel.exporter.zipkin.endpoint=http://localhost:9413/api/v2/spans

otel.logs.exporter

You can use this property to change where the logs that OpenTelemetry collects are exported.

Application startup or runtime startup

otel.traces.exporter=console

otel.metric.export.interval

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

otel.metric.export.interval=120000

otel.metric.export.timeout

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

otel.metric.export.timeout=60000

otel.metrics.exporter

You can use this property to change where the metrics that OpenTelemetry collects are exported.

Application startup or runtime startup

otel.metrics.exporter=prometheus

otel.sdk.disabled

Enables logs, metrics, and traces to be sent to OpenTelemetry. The default is true.

Application startup or runtime startup

otel.sdk.disabled=false

otel.service.name

Sets of the name of the service that OpenTelemetry is tracing.

Application startup or runtime startup

otel.service.name=system

otel.traces.exporter

Sets the exporter that is used to collect traces. Possible values are otlp, zipkin, jaeger, or logging. The default value is otlp. For the Jaeger trace service versions 1.35 and later, the otlp exporter value is recommended, rather than jaeger.

Application startup or runtime startup

otel.traces.exporter=zipkin