Micronaut Core Configuration Reference

Every documented configuration property of Micronaut Core, with types, descriptions, and defaults.

Micronaut Core documentation

501 properties across 12 sections

Micronaut Buffer Netty Config Properties

Configuration properties for DefaultByteBufAllocatorConfiguration

PropertyTypeDescription
netty.default.allocator.num-heap-arenasjava.lang.IntegerThe number of heap arenas
netty.default.allocator.num-direct-arenasjava.lang.IntegerThe number of direct arenas
netty.default.allocator.page-sizejava.lang.IntegerThe page size
netty.default.allocator.max-orderjava.lang.IntegerThe max order
netty.default.allocator.chunk-sizejava.lang.IntegerThe chunk size
netty.default.allocator.small-cache-sizejava.lang.IntegerThe small cache size
netty.default.allocator.normal-cache-sizejava.lang.IntegerThe normal cache size
netty.default.allocator.use-cache-for-all-threadsjava.lang.BooleanWhether to use the cache for all threads
netty.default.allocator.max-cached-buffer-capacityjava.lang.IntegerThe max cached buffer capacity
netty.default.allocator.cache-trim-intervaljava.lang.IntegerThe cache trim interval
netty.default.allocator.max-cached-byte-buffers-per-chunkjava.lang.IntegerThe max cached byte buffers per chunk

Micronaut Context Config Properties

Configuration properties for PropertiesLoggingLevelsConfigurer$PropertiesLoggingLevelsConfiguration

PropertyTypeDescription
logger.levelsjava.util.MapSets the configured log levels keyed by logger name.

Configuration properties for PropagatedContextConfigurationProperties

PropertyTypeDescription
micronaut.propagationPropagatedContextConfiguration$Mode

Configuration properties for ApplicationConfiguration

PropertyTypeDescription
micronaut.application.default-charsetjava.nio.charset.CharsetDefault value (UTF-8).
micronaut.application.namejava.lang.StringThe application name

Configuration properties for ApplicationConfiguration$InstanceConfiguration

PropertyTypeDescription
micronaut.application.instance.idjava.lang.StringAn optional instance identifier
micronaut.application.instance.metadatajava.util.MapAny metadata to associate with the instance
micronaut.application.instance.groupjava.lang.StringThe instance auto-scaling group
micronaut.application.instance.zonejava.lang.StringThe instance availability zone. For example, it’s possible to configure Netflix Ribbon to load balance between servers only in a particular zone

Configuration properties for UserExecutorConfiguration

PropertyTypeDescription
micronaut.executors.*.n-threadsjava.lang.Integernumber of threads
micronaut.executors.*.typeExecutorTypethe type
micronaut.executors.*.parallelismjava.lang.Integerthe parallelism
micronaut.executors.*.core-pool-sizejava.lang.Integerthe core pool size
micronaut.executors.*.virtualjava.lang.Booleanwhether to use virtual threads
micronaut.executors.*.thread-factory-classjava.lang.Classthe thread factory class
micronaut.executors.*.namejava.lang.StringSets the executor name.
micronaut.executors.*.number-of-threadsjava.lang.IntegerSets the number of threads for FIXED . Default value (2 * Number of processors available to the Java virtual machine).

Configuration properties for FileWatchConfiguration

PropertyTypeDescription
micronaut.io.watch.enabledbooleanWhether watch is enabled.
micronaut.io.watch.restartbooleanSet whether restart is enabled.
micronaut.io.watch.pathsjava.util.ListSets the watch paths to use.
micronaut.io.watch.check-intervaljava.time.DurationSets the interval to wait between file watch polls.

Configuration properties for GracefulShutdownConfiguration

PropertyTypeDescriptionDefault
micronaut.lifecycle.graceful-shutdown.enabledbooleanWhether to enable graceful shutdown on normal shutdown. Off by default.false
micronaut.lifecycle.graceful-shutdown.grace-periodjava.time.DurationDuration to wait until forcing a shutdown.

Micronaut Discovery Core Config Properties

Configuration properties for DigitalOceanMetadataConfiguration

PropertyTypeDescription
micronaut.application.digitalocean.metadata.enabledbooleanDefault value (true).
micronaut.application.digitalocean.metadata.urljava.lang.StringDefault value ("http://169.254.169.254/metadata/v1.json").

Configuration properties for HeartbeatConfiguration

PropertyTypeDescription
micronaut.heartbeat.intervaljava.time.DurationDefault value (15 seconds).
micronaut.heartbeat.enabledbooleanDefault value (true).

Micronaut Function Config Properties

Configuration properties for BinaryTypeConfiguration

PropertyTypeDescription
micronaut.function.binary-types.use-defaultsbooleanSets whether to use the default binary types.
micronaut.function.binary-types.additional-typesjava.util.ListSets the additional media types to consider binary.
micronaut.function.binary-types.use-default-binary-typesboolean

Micronaut Http Client Core Config Properties

Configuration properties for DefaultHttpClientConfiguration

PropertyTypeDescription
micronaut.http.client.http-versionHttpVersionSets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.
micronaut.http.client.log-levelLogLevelSets the level to enable trace logging at. Depending on the implementation this may activate additional handlers. For example in Netty this will activate {@code LoggingHandler} at the given level.
micronaut.http.client.event-loop-groupjava.lang.StringThe event loop group to use.
micronaut.http.client.ssl-configurationSslConfigurationSets the SSL configuration for the client.
micronaut.http.client.follow-redirectsbooleanSets whether redirects should be followed. Default value ( DEFAULT_FOLLOW_REDIRECTS ).
micronaut.http.client.exception-on-error-statusbooleanSets whether throwing an exception upon HTTP error status (>= 400) is preferred. Default value ( DEFAULT_EXCEPTION_ON_ERROR_STATUS )
micronaut.http.client.decompression-enabledbooleanEnable or disable automatic response content decompression in the Netty HTTP client. Disabling this can be useful for proxy or testing scenarios where the compressed payload and Content-Encoding header need to be observed.
micronaut.http.client.logger-namejava.lang.StringSets the client-specific logger name.
micronaut.http.client.redirect-always-filtered-headersjava.util.SetSets the header names that are always filtered for redirects.
micronaut.http.client.redirect-additional-non-preserve-body-filtered-headersjava.util.SetSets the additional header names filtered for redirects that do not preserve the request body. These headers are filtered in addition to {@link #getRedirectAlwaysFilteredHeaders()}.
micronaut.http.client.redirect-cross-origin-filtered-headersjava.util.SetSets the header names that are additionally filtered for cross-origin redirects.
micronaut.http.client.max-redirectsintSets the maximum number of redirects to follow. Default value (5).
micronaut.http.client.default-charsetjava.nio.charset.CharsetSets the default charset to use. Default value (UTF-8);
micronaut.http.client.channel-optionsjava.util.MapThe Client channel options.
micronaut.http.client.read-timeoutjava.time.DurationSets the read timeout. Default value (10 seconds).
micronaut.http.client.request-timeoutjava.time.DurationThe request timeout for non-streaming requests. This is the maximum time until the response must be completely received. Defaults to one second more than read-timeout.
micronaut.http.client.read-idle-timeoutjava.time.DurationFor WebSockets, the {@link #getReadTimeout()} method does not apply instead a configurable idle timeout is applied.
micronaut.http.client.connection-pool-idle-timeoutjava.time.DurationSets the idle timeout for connection in the client connection pool. Defaults to 0.
micronaut.http.client.connect-timeoutjava.time.DurationSets the connect timeout.
micronaut.http.client.connect-ttljava.time.DurationSets the connect timeout.
micronaut.http.client.shutdown-quiet-periodjava.time.DurationSets the amount of quiet period for shutdown of client thread pools. Default value (1 milliseconds). If a task is submitted during the quiet period, it will be accepted and the quiet period will start over.
micronaut.http.client.shutdown-timeoutjava.time.DurationSets the amount of time to wait for shutdown of client thread pools. Default value (100 milliseconds).
micronaut.http.client.num-of-threadsjava.lang.IntegerSets the number of threads the client should use for requests.
micronaut.http.client.thread-factoryjava.lang.ClassSets a thread factory.
micronaut.http.client.max-content-lengthintSets the maximum content length the client can consume. Default value (1024 * 1024 * 10 => 10MB).
micronaut.http.client.max-header-sizeintSets the maximum header size the client can handle. Default value (8192).
micronaut.http.client.max-initial-line-lengthintSets the maximum initial line length the client can handle. Default value (4096).
micronaut.http.client.max-chunk-sizeintSets the maximum chunk size the client can handle. Default value (8192).
micronaut.http.client.proxy-typejava.net.Proxy$TypeThe proxy type
micronaut.http.client.proxy-addressjava.net.SocketAddressSets a proxy address.
micronaut.http.client.proxy-usernamejava.lang.StringSets the proxy username to use.
micronaut.http.client.proxy-passwordjava.lang.StringSets the proxy password.
micronaut.http.client.proxy-selectorjava.net.ProxySelectorSets the proxy selector. ProxySelector decides what proxy to use and take precedence over {@link #setProxyAddress(SocketAddress)} and {@link #setProxyType(Proxy.Type)}.
micronaut.http.client.plaintext-modeHttpVersionSelection$PlaintextModeThe connection mode to use for <i>plaintext</i> (http as opposed to https) connections. <br> <b>Note: If {@link #httpVersion} is set, this setting is ignored!</b>
micronaut.http.client.alpn-modesjava.util.ListThe protocols to support for TLS ALPN. If HTTP 2 is included, this will also restrict the TLS cipher suites to those supported by the HTTP 2 standard. <br> <b>Note: If {@link #httpVersion} is set, this setting is ignored!</b>
micronaut.http.client.allow-block-event-loopbooleanWhether to allow blocking a netty event loop with a call to {@link BlockingHttpClient}. When this is off (the default), any calls that block an event loop will throw an error. Such calls are almost always a mistake that can lead to hard-to-debug transient issues such as read timeouts. Only enable this setting if you are sure you won’t hit such a bug. <br> Default value: {@value DEFAULT_ALLOW_BLOCK_EVENT_LOOP}
micronaut.http.client.dns-resolution-modeHttpClientConfiguration$DnsResolutionModeConfigure how DNS records are resolved. Ignored if {@link #getAddressResolverGroupName()} is non-null. This option is specific to the netty client.
micronaut.http.client.address-resolver-group-namejava.lang.StringName of a fixed netty AddressResolverGroup to use for this client, or {@code null} to instead use {@link #getDnsResolutionMode()}. This option is specific to the netty client.
micronaut.http.client.pcap-logging-path-patternjava.lang.StringThe path pattern to use for logging outgoing connections to pcap. This is an unsupported option: Behavior may change, or it may disappear entirely, without notice! Only implemented for netty.

Configuration properties for DefaultHttpClientConfiguration$DefaultHttp2ClientConfiguration

PropertyTypeDescription
micronaut.http.client.http2.ping-interval-readjava.time.DurationFor HTTP/2 connections, the interval from the last inbound message to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.client.http2.ping-interval-writejava.time.DurationFor HTTP/2 connections, the interval from the last outbound message to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.client.http2.ping-interval-idlejava.time.DurationFor HTTP/2 connections, the interval from the last message (inbound or outbound) to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.client.http2.max-header-list-sizeintSets the maximum header list size the client can handle. Default value (8192).

Configuration properties for DefaultHttpClientConfiguration$DefaultConnectionPoolConfiguration

PropertyTypeDescription
micronaut.http.client.pool.enabledbooleanSets whether connection pooling is enabled. Default value (true).
micronaut.http.client.pool.max-pending-acquiresintSets the max pending acquires.
micronaut.http.client.pool.acquire-timeoutjava.time.DurationSets the timeout to wait for a connection.
micronaut.http.client.pool.max-pending-connectionsintThe maximum number of <i>pending</i> (new) connections before they are assigned to a pool.
micronaut.http.client.pool.max-concurrent-requests-per-http2-connectionintThe maximum number of requests (streams) that can run concurrently on one HTTP2 connection.
micronaut.http.client.pool.max-concurrent-http1-connectionsintThe maximum number of concurrent HTTP1 connections in the pool.
micronaut.http.client.pool.max-concurrent-http2-connectionsintThe maximum number of concurrent HTTP2 connections in the pool.
micronaut.http.client.pool.connection-localityHttpClientConfiguration$ConnectionPoolConfiguration$ConnectionLocalityOptimize locality of client connections depending on which event loop makes a request. [available in the Netty HTTP client]
micronaut.http.client.pool.versionHttpClientConfiguration$ConnectionPoolConfiguration$PoolVersionThe version of the connection pool implementation. Defaults to {@code V4_9}, can be set to {@code V4_0} for compatibility.

Configuration properties for NamedClientVersioningConfiguration

PropertyTypeDescription
micronaut.http.client.versioning.*.headersjava.util.ListThe list of request header names.
micronaut.http.client.versioning.*.parametersjava.util.ListThe list of request query parameter names.
micronaut.http.client.versioning.*.header-namesjava.util.ListList of request header names to specify version.
micronaut.http.client.versioning.*.parameter-namesjava.util.ListList of request query parameter names to specify version.

Configuration properties for DefaultClientVersioningConfiguration

PropertyTypeDescription
micronaut.http.client.versioning.default.headersjava.util.ListThe list of request header names.
micronaut.http.client.versioning.default.parametersjava.util.ListThe list of request query parameter names.
micronaut.http.client.versioning.default.header-namesjava.util.ListList of request header names to specify version.
micronaut.http.client.versioning.default.parameter-namesjava.util.ListList of request query parameter names to specify version.

Configuration properties for DefaultHttpClientConfiguration$DefaultWebSocketCompressionConfiguration

PropertyTypeDescription
micronaut.http.client.ws.compression.enabledbooleanSets whether the per message deflate extension is enabled for WebSocket connections. Default value ( DEFAULT_ENABLED ).

Configuration properties for ServiceHttpClientConfiguration

PropertyTypeDescription
micronaut.http.services.*.http-versionHttpVersionSets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.
micronaut.http.services.*.log-levelLogLevelSets the level to enable trace logging at. Depending on the implementation this may activate additional handlers. For example in Netty this will activate {@code LoggingHandler} at the given level.
micronaut.http.services.*.event-loop-groupjava.lang.StringThe event loop group to use.
micronaut.http.services.*.ssl-configurationSslConfigurationSets the SSL configuration for the client.
micronaut.http.services.*.follow-redirectsbooleanSets whether redirects should be followed. Default value ( DEFAULT_FOLLOW_REDIRECTS ).
micronaut.http.services.*.exception-on-error-statusbooleanSets whether throwing an exception upon HTTP error status (>= 400) is preferred. Default value ( DEFAULT_EXCEPTION_ON_ERROR_STATUS )
micronaut.http.services.*.decompression-enabledbooleanEnable or disable automatic response content decompression in the Netty HTTP client. Disabling this can be useful for proxy or testing scenarios where the compressed payload and Content-Encoding header need to be observed.
micronaut.http.services.*.logger-namejava.lang.StringSets the client-specific logger name.
micronaut.http.services.*.redirect-always-filtered-headersjava.util.SetSets the header names that are always filtered for redirects.
micronaut.http.services.*.redirect-additional-non-preserve-body-filtered-headersjava.util.SetSets the additional header names filtered for redirects that do not preserve the request body. These headers are filtered in addition to {@link #getRedirectAlwaysFilteredHeaders()}.
micronaut.http.services.*.redirect-cross-origin-filtered-headersjava.util.SetSets the header names that are additionally filtered for cross-origin redirects.
micronaut.http.services.*.max-redirectsintSets the maximum number of redirects to follow. Default value (5).
micronaut.http.services.*.default-charsetjava.nio.charset.CharsetSets the default charset to use. Default value (UTF-8);
micronaut.http.services.*.channel-optionsjava.util.MapThe Client channel options.
micronaut.http.services.*.read-timeoutjava.time.DurationSets the read timeout. Default value (10 seconds).
micronaut.http.services.*.request-timeoutjava.time.DurationThe request timeout for non-streaming requests. This is the maximum time until the response must be completely received. Defaults to one second more than read-timeout.
micronaut.http.services.*.read-idle-timeoutjava.time.DurationFor WebSockets, the {@link #getReadTimeout()} method does not apply instead a configurable idle timeout is applied.
micronaut.http.services.*.connection-pool-idle-timeoutjava.time.DurationSets the idle timeout for connection in the client connection pool. Defaults to 0.
micronaut.http.services.*.connect-timeoutjava.time.DurationSets the connect timeout.
micronaut.http.services.*.connect-ttljava.time.DurationSets the connect timeout.
micronaut.http.services.*.shutdown-quiet-periodjava.time.DurationSets the amount of quiet period for shutdown of client thread pools. Default value (1 milliseconds). If a task is submitted during the quiet period, it will be accepted and the quiet period will start over.
micronaut.http.services.*.shutdown-timeoutjava.time.DurationSets the amount of time to wait for shutdown of client thread pools. Default value (100 milliseconds).
micronaut.http.services.*.num-of-threadsjava.lang.IntegerSets the number of threads the client should use for requests.
micronaut.http.services.*.thread-factoryjava.lang.ClassSets a thread factory.
micronaut.http.services.*.max-content-lengthintSets the maximum content length the client can consume. Default value (1024 * 1024 * 10 => 10MB).
micronaut.http.services.*.max-header-sizeintSets the maximum header size the client can handle. Default value (8192).
micronaut.http.services.*.max-initial-line-lengthintSets the maximum initial line length the client can handle. Default value (4096).
micronaut.http.services.*.max-chunk-sizeintSets the maximum chunk size the client can handle. Default value (8192).
micronaut.http.services.*.proxy-typejava.net.Proxy$TypeThe proxy type
micronaut.http.services.*.proxy-addressjava.net.SocketAddressSets a proxy address.
micronaut.http.services.*.proxy-usernamejava.lang.StringSets the proxy username to use.
micronaut.http.services.*.proxy-passwordjava.lang.StringSets the proxy password.
micronaut.http.services.*.proxy-selectorjava.net.ProxySelectorSets the proxy selector. ProxySelector decides what proxy to use and take precedence over {@link #setProxyAddress(SocketAddress)} and {@link #setProxyType(Proxy.Type)}.
micronaut.http.services.*.plaintext-modeHttpVersionSelection$PlaintextModeThe connection mode to use for <i>plaintext</i> (http as opposed to https) connections. <br> <b>Note: If {@link #httpVersion} is set, this setting is ignored!</b>
micronaut.http.services.*.alpn-modesjava.util.ListThe protocols to support for TLS ALPN. If HTTP 2 is included, this will also restrict the TLS cipher suites to those supported by the HTTP 2 standard. <br> <b>Note: If {@link #httpVersion} is set, this setting is ignored!</b>
micronaut.http.services.*.allow-block-event-loopbooleanWhether to allow blocking a netty event loop with a call to {@link BlockingHttpClient}. When this is off (the default), any calls that block an event loop will throw an error. Such calls are almost always a mistake that can lead to hard-to-debug transient issues such as read timeouts. Only enable this setting if you are sure you won’t hit such a bug. <br> Default value: {@value DEFAULT_ALLOW_BLOCK_EVENT_LOOP}
micronaut.http.services.*.dns-resolution-modeHttpClientConfiguration$DnsResolutionModeConfigure how DNS records are resolved. Ignored if {@link #getAddressResolverGroupName()} is non-null. This option is specific to the netty client.
micronaut.http.services.*.address-resolver-group-namejava.lang.StringName of a fixed netty AddressResolverGroup to use for this client, or {@code null} to instead use {@link #getDnsResolutionMode()}. This option is specific to the netty client.
micronaut.http.services.*.pcap-logging-path-patternjava.lang.StringThe path pattern to use for logging outgoing connections to pcap. This is an unsupported option: Behavior may change, or it may disappear entirely, without notice! Only implemented for netty.
micronaut.http.services.*.urlsjava.util.ListSets the URIs of the service.
micronaut.http.services.*.urljava.net.URISets the URL of the service.
micronaut.http.services.*.health-check-urijava.lang.StringSets the health check URI. Default value ("/health").
micronaut.http.services.*.health-checkbooleanSets whether the service health should be checked. Default value (false).
micronaut.http.services.*.pathjava.lang.StringSets the context path to use for requests.
micronaut.http.services.*.health-check-intervaljava.time.DurationSets the default duration to check health status. Default value (30 seconds).

Configuration properties for ServiceHttpClientConfiguration$ServiceHttp2ClientConfiguration

PropertyTypeDescription
micronaut.http.services.*.http2.ping-interval-readjava.time.DurationFor HTTP/2 connections, the interval from the last inbound message to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.services.*.http2.ping-interval-writejava.time.DurationFor HTTP/2 connections, the interval from the last outbound message to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.services.*.http2.ping-interval-idlejava.time.DurationFor HTTP/2 connections, the interval from the last message (inbound or outbound) to when an automated ping should be sent. This can be used to keep low-traffic connections alive.
micronaut.http.services.*.http2.max-header-list-sizeintSets the maximum header list size the client can handle. Default value (8192).

Configuration properties for ServiceHttpClientConfiguration$ServiceConnectionPoolConfiguration

PropertyTypeDescription
micronaut.http.services.*.pool.enabledbooleanSets whether connection pooling is enabled. Default value (true).
micronaut.http.services.*.pool.max-pending-acquiresintSets the max pending acquires.
micronaut.http.services.*.pool.acquire-timeoutjava.time.DurationSets the timeout to wait for a connection.
micronaut.http.services.*.pool.max-pending-connectionsintThe maximum number of <i>pending</i> (new) connections before they are assigned to a pool.
micronaut.http.services.*.pool.max-concurrent-requests-per-http2-connectionintThe maximum number of requests (streams) that can run concurrently on one HTTP2 connection.
micronaut.http.services.*.pool.max-concurrent-http1-connectionsintThe maximum number of concurrent HTTP1 connections in the pool.
micronaut.http.services.*.pool.max-concurrent-http2-connectionsintThe maximum number of concurrent HTTP2 connections in the pool.
micronaut.http.services.*.pool.connection-localityHttpClientConfiguration$ConnectionPoolConfiguration$ConnectionLocalityOptimize locality of client connections depending on which event loop makes a request. [available in the Netty HTTP client]
micronaut.http.services.*.pool.versionHttpClientConfiguration$ConnectionPoolConfiguration$PoolVersionThe version of the connection pool implementation. Defaults to {@code V4_9}, can be set to {@code V4_0} for compatibility.

Configuration properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration

PropertyTypeDescription
micronaut.http.services.*.ssl.enabledboolean
micronaut.http.services.*.ssl.portint
micronaut.http.services.*.ssl.client-authenticationClientAuthentication
micronaut.http.services.*.ssl.ciphersjava.lang.String
micronaut.http.services.*.ssl.protocolsjava.lang.String
micronaut.http.services.*.ssl.key-namejava.lang.String
micronaut.http.services.*.ssl.trust-namejava.lang.String
micronaut.http.services.*.ssl.protocoljava.lang.String
micronaut.http.services.*.ssl.handshake-timeoutjava.time.Duration
micronaut.http.services.*.ssl.build-self-signedboolean
micronaut.http.services.*.ssl.prefer-opensslboolean
micronaut.http.services.*.ssl.insecure-trust-all-certificatesboolean

Configuration properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultKeyConfiguration

PropertyTypeDescription
micronaut.http.services.*.ssl.key.passwordjava.lang.String
micronaut.http.services.*.ssl.key.aliasjava.lang.String

Configuration properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultKeyStoreConfiguration

PropertyTypeDescription
micronaut.http.services.*.ssl.key-store.pathjava.lang.String
micronaut.http.services.*.ssl.key-store.passwordjava.lang.String
micronaut.http.services.*.ssl.key-store.typejava.lang.String
micronaut.http.services.*.ssl.key-store.providerjava.lang.String
micronaut.http.services.*.ssl.key-store.key-pathjava.lang.String
micronaut.http.services.*.ssl.key-store.certificate-pathjava.lang.String

Configuration properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultTrustStoreConfiguration

PropertyTypeDescription
micronaut.http.services.*.ssl.trust-store.pathjava.lang.String
micronaut.http.services.*.ssl.trust-store.passwordjava.lang.String
micronaut.http.services.*.ssl.trust-store.typejava.lang.String
micronaut.http.services.*.ssl.trust-store.providerjava.lang.String

Configuration properties for ServiceHttpClientConfiguration$ServiceWebSocketCompressionConfiguration

PropertyTypeDescription
micronaut.http.services.*.ws.compression.enabledbooleanSets whether the per message deflate extension is enabled for WebSocket connections. Default value ( DEFAULT_ENABLED ).

Micronaut Http Config Properties

Configuration properties for FileCertificateProvider$Config

PropertyTypeDescription
micronaut.certificate.file.*.formatFileCertificateProvider$FormatExplicit format of the certificate material. If not set, Micronaut will first try to load the file as a key store (JKS/PKCS12) and, if that fails, as PEM. A separate {@code certificatePath} can only be used with PEM.
micronaut.certificate.file.*.passwordjava.lang.StringPassword used to open the key store (JKS/PKCS12) or decrypt PEM private keys, if required.
micronaut.certificate.file.*.pathjava.nio.file.PathPath to the main certificate file to load. For JKS/PKCS12 this is a key store (optionally protected by {@code password}). For PEM this file may contain a private key and optionally certificates; when it only contains a private key, the certificate chain can be supplied via {@code certificatePath}. Reload behavior is controlled by {@code refreshMode}/{@code refreshInterval}.
micronaut.certificate.file.*.certificate-pathjava.nio.file.PathOptional path to a separate PEM-encoded certificate chain. Only supported when the {@code format} is {@code PEM}. When set, the main file at {@code path} must contain only the private key.
micronaut.certificate.file.*.refresh-modeFileCertificateProvider$RefreshModeStrategy for reloading the certificate file. {@code NONE}: load once. {@code FILE_WATCHER}: watch the directory and reload on changes. {@code SCHEDULER}: periodically reload. {@code FILE_WATCHER_OR_SCHEDULER}: use a watcher when supported, otherwise fall back to scheduled reloads.
micronaut.certificate.file.*.refresh-intervaljava.time.DurationInterval used for scheduled reloads when the refresh mode uses a scheduler or when file watching is not available and a scheduled fallback is used.

Configuration properties for ResourceCertificateProvider$Config

PropertyTypeDescription
micronaut.certificate.resource.*.formatFileCertificateProvider$FormatExplicit format of the certificate material. If not set, Micronaut will first try to load the file as a key store (JKS/PKCS12) and, if that fails, as PEM. A separate {@code certificatePath} can only be used with PEM.
micronaut.certificate.resource.*.passwordjava.lang.StringPassword used to open the key store (JKS/PKCS12) or decrypt PEM private keys, if required.
micronaut.certificate.resource.*.resourcejava.lang.StringMicronaut resource location of the certificate material to load, for example {@code classpath:certs/server.p12} or {@code file:/etc/ssl/server.pem}. The actual format and password handling are controlled by the common properties in {@link AbstractCertificateFileConfig} (e.g. {@code format}, {@code password}).

Configuration properties for SelfSignedCertificateProvider$Config

PropertyTypeDescription
micronaut.certificate.self-signed.*.algorithmio.netty.pkitesting.CertificateBuilder$AlgorithmAlgorithm used to generate the self-signed key pair and certificate (e.g. RSA, EC). Controls the cryptographic parameters used by {@link io.netty.pkitesting.CertificateBuilder}. Defaults to {@code rsa4096}.
micronaut.certificate.self-signed.*.subjectjava.lang.StringX.500 subject distinguished name for the generated certificate, for example {@code CN=localhost}. This value is passed to the certificate builder and becomes the certificate’s subject. Defaults to {@code CN=localhost}.
micronaut.certificate.self-signed.*.update-intervaljava.time.DurationInterval at which a new self-signed certificate is generated and emitted. Used to schedule periodic regeneration via a fixed-rate task so updated material is picked up automatically. Defaults to 1 day.
micronaut.certificate.self-signed.*.lifetimejava.time.DurationValidity period of the generated certificate. The certificate’s {@code notAfter} is set to now plus this duration when building the self-signed certificate. Defaults to 7 days.

Configuration properties for CodecConfiguration

PropertyTypeDescription
micronaut.codec.*.additional-typesjava.util.ListDefault value (Empty list).

Configuration properties for ClientSslConfiguration

PropertyTypeDescription
micronaut.http.client.ssl.enabledbooleanWhether SSL is enabled. Default value (false).
micronaut.http.client.ssl.portintSets the SSL port. Default value (8443).
micronaut.http.client.ssl.client-authenticationClientAuthenticationSets the client authentication mode.
micronaut.http.client.ssl.ciphersjava.lang.StringSets the ciphers to use.
micronaut.http.client.ssl.protocolsjava.lang.StringSets the protocols to use.
micronaut.http.client.ssl.keySslConfiguration$KeyConfigurationSets the key configuration.
micronaut.http.client.ssl.key-storeSslConfiguration$KeyStoreConfigurationSets the keystore configuration.
micronaut.http.client.ssl.trust-storeSslConfiguration$TrustStoreConfigurationSets the trust store configuration.
micronaut.http.client.ssl.key-namejava.lang.StringName of a CertificateProvider bean that supplies the private key and certificate chain for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code key}/{@code key-store} configuration is used instead. May be combined with {@code trustName} to also source the trust store from a provider.
micronaut.http.client.ssl.trust-namejava.lang.StringName of a CertificateProvider bean that supplies the trust material (trusted certificates) for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code trust-store} configuration is used instead. May be combined with {@code keyName} to also source the key material from a provider.
micronaut.http.client.ssl.protocoljava.lang.StringSets the protocol to use. Default value ("TLS").
micronaut.http.client.ssl.handshake-timeoutjava.time.DurationThe timeout for the SSL handshake
micronaut.http.client.ssl.build-self-signedbooleanSets whether to build a self-signed certificate. Default value (false).
micronaut.http.client.ssl.prefer-opensslbooleanWhether an OpenSSL-backed TLS implementation should be preferred if it’s on the classpath. {@code true} by default.
micronaut.http.client.ssl.insecure-trust-all-certificatesbooleanWhether the client should disable checking of the remote SSL certificate. Only applies if no trust store is configured. <b>Note: This makes the SSL connection insecure, and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.</b>

Configuration properties for ClientSslConfiguration$DefaultKeyConfiguration

PropertyTypeDescription
micronaut.http.client.ssl.key.passwordjava.lang.StringSets the password.
micronaut.http.client.ssl.key.aliasjava.lang.StringSets the alias.

Configuration properties for ClientSslConfiguration$DefaultKeyStoreConfiguration

PropertyTypeDescription
micronaut.http.client.ssl.key-store.pathjava.lang.StringThe path to the key store (typically .jks). Can also point to a PEM file containing a private key followed by the X.509 trust chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.http.client.ssl.key-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.http.client.ssl.key-store.typejava.lang.StringSets the type of keystore.
micronaut.http.client.ssl.key-store.providerjava.lang.StringSets the keystore provider name.
micronaut.http.client.ssl.key-store.key-pathjava.lang.StringA path to a PEM file containing the private key. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.
micronaut.http.client.ssl.key-store.certificate-pathjava.lang.StringA path to a PEM file containing the certificate chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.

Configuration properties for ClientSslConfiguration$DefaultTrustStoreConfiguration

PropertyTypeDescription
micronaut.http.client.ssl.trust-store.pathjava.lang.StringThe path to the trust store (typically .jks). Can also point to a PEM file containing one or more X.509 certificates. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.http.client.ssl.trust-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.http.client.ssl.trust-store.typejava.lang.StringSets the type of keystore.
micronaut.http.client.ssl.trust-store.providerjava.lang.StringSets the keystore provider name.

Configuration properties for FormConfigurationProperties

PropertyTypeDescription
micronaut.http.forms.max-decoded-key-value-parametersintdefault maximum of decoded key value parameters. Default value {@link #DEFAULT_MAX_DECODED_KEY_VALUE_PARAMETERS}.
micronaut.http.forms.semicolon-is-normal-charbooleantrue if the semicolon is treated as a normal character, false otherwise

Configuration properties for ServerSslConfiguration

PropertyTypeDescription
micronaut.server.ssl.enabledbooleanWhether SSL is enabled. Default value (false).
micronaut.server.ssl.portintSets the SSL port. Default value (8443).
micronaut.server.ssl.client-authenticationClientAuthenticationSets the client authentication mode.
micronaut.server.ssl.ciphersjava.lang.StringSets the ciphers to use.
micronaut.server.ssl.protocolsjava.lang.StringSets the protocols to use.
micronaut.server.ssl.keySslConfiguration$KeyConfigurationSets the key configuration.
micronaut.server.ssl.key-storeSslConfiguration$KeyStoreConfigurationSets the keystore configuration.
micronaut.server.ssl.trust-storeSslConfiguration$TrustStoreConfigurationSets the trust store configuration.
micronaut.server.ssl.key-namejava.lang.StringName of a CertificateProvider bean that supplies the private key and certificate chain for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code key}/{@code key-store} configuration is used instead. May be combined with {@code trustName} to also source the trust store from a provider.
micronaut.server.ssl.trust-namejava.lang.StringName of a CertificateProvider bean that supplies the trust material (trusted certificates) for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code trust-store} configuration is used instead. May be combined with {@code keyName} to also source the key material from a provider.
micronaut.server.ssl.protocoljava.lang.StringSets the protocol to use. Default value ("TLS").
micronaut.server.ssl.handshake-timeoutjava.time.DurationThe timeout for the SSL handshake
micronaut.server.ssl.prefer-opensslbooleanWhether an OpenSSL-backed TLS implementation should be preferred if it’s on the classpath. {@code true} by default.
micronaut.server.ssl.build-self-signedbooleanSets whether to build a self-signed certificate. Default value (false).

Configuration properties for ServerSslConfiguration$DefaultKeyConfiguration

PropertyTypeDescription
micronaut.server.ssl.key.passwordjava.lang.StringSets the password.
micronaut.server.ssl.key.aliasjava.lang.StringSets the alias.

Configuration properties for ServerSslConfiguration$DefaultKeyStoreConfiguration

PropertyTypeDescription
micronaut.server.ssl.key-store.pathjava.lang.StringThe path to the key store (typically .jks). Can also point to a PEM file containing a private key followed by the X.509 trust chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.server.ssl.key-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.server.ssl.key-store.typejava.lang.StringSets the type of keystore.
micronaut.server.ssl.key-store.providerjava.lang.StringSets the keystore provider name.
micronaut.server.ssl.key-store.key-pathjava.lang.StringA path to a PEM file containing the private key. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.
micronaut.server.ssl.key-store.certificate-pathjava.lang.StringA path to a PEM file containing the certificate chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.

Configuration properties for ServerSslConfiguration$DefaultTrustStoreConfiguration

PropertyTypeDescription
micronaut.server.ssl.trust-store.pathjava.lang.StringThe path to the trust store (typically .jks). Can also point to a PEM file containing one or more X.509 certificates. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.server.ssl.trust-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.server.ssl.trust-store.typejava.lang.StringSets the type of keystore.
micronaut.server.ssl.trust-store.providerjava.lang.StringSets the keystore provider name.

Configuration properties for DefaultSslConfiguration

PropertyTypeDescription
micronaut.ssl.enabledbooleanWhether SSL is enabled. Default value (false).
micronaut.ssl.portintSets the SSL port. Default value (8443).
micronaut.ssl.client-authenticationClientAuthenticationSets the client authentication mode.
micronaut.ssl.ciphersjava.lang.StringSets the ciphers to use.
micronaut.ssl.protocolsjava.lang.StringSets the protocols to use.
micronaut.ssl.key-namejava.lang.StringName of a CertificateProvider bean that supplies the private key and certificate chain for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code key}/{@code key-store} configuration is used instead. May be combined with {@code trustName} to also source the trust store from a provider.
micronaut.ssl.trust-namejava.lang.StringName of a CertificateProvider bean that supplies the trust material (trusted certificates) for the SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates; when not set, the legacy {@code trust-store} configuration is used instead. May be combined with {@code keyName} to also source the key material from a provider.
micronaut.ssl.protocoljava.lang.StringSets the protocol to use. Default value ("TLS").
micronaut.ssl.handshake-timeoutjava.time.DurationThe timeout for the SSL handshake
micronaut.ssl.build-self-signedbooleanSets whether to build a self-signed certificate. Default value (false).
micronaut.ssl.prefer-opensslbooleanWhether an OpenSSL-backed TLS implementation should be preferred if it’s on the classpath. {@code true} by default.

Configuration properties for DefaultSslConfiguration$DefaultKeyConfiguration

PropertyTypeDescription
micronaut.ssl.key.passwordjava.lang.StringSets the password.
micronaut.ssl.key.aliasjava.lang.StringSets the alias.

Configuration properties for DefaultSslConfiguration$DefaultKeyStoreConfiguration

PropertyTypeDescription
micronaut.ssl.key-store.pathjava.lang.StringThe path to the key store (typically .jks). Can also point to a PEM file containing a private key followed by the X.509 trust chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.ssl.key-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.ssl.key-store.typejava.lang.StringSets the type of keystore.
micronaut.ssl.key-store.providerjava.lang.StringSets the keystore provider name.
micronaut.ssl.key-store.key-pathjava.lang.StringA path to a PEM file containing the private key. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.
micronaut.ssl.key-store.certificate-pathjava.lang.StringA path to a PEM file containing the certificate chain. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}. Cannot be set at the same time as the {@code path} property.

Configuration properties for DefaultSslConfiguration$DefaultTrustStoreConfiguration

PropertyTypeDescription
micronaut.ssl.trust-store.pathjava.lang.StringThe path to the trust store (typically .jks). Can also point to a PEM file containing one or more X.509 certificates. Can use {@code classpath:}, {@code file:}, {@code string:} or {@code base64:}.
micronaut.ssl.trust-store.passwordjava.lang.StringSets the password to use for the keystore.
micronaut.ssl.trust-store.typejava.lang.StringSets the type of keystore.
micronaut.ssl.trust-store.providerjava.lang.StringSets the keystore provider name.

Micronaut Http Netty Config Properties

Configuration properties for DefaultEventLoopGroupConfiguration

PropertyTypeDescriptionDefault
micronaut.netty.event-loops.*.num-threadsintThe number of threads0
micronaut.netty.event-loops.*.thread-core-ratiodoubleThe number of threads per core to use if {@link #getNumThreads()} is set to 0.1.0
micronaut.netty.event-loops.*.io-ratiojava.lang.IntegerThe IO ratio (optional)
micronaut.netty.event-loops.*.prefer-native-transportbooleanWhether native transport is to be preferredfalse
micronaut.netty.event-loops.*.transportjava.util.ListThe transports to use for this event loop, in order of preference. Supported values are {@code io_uring,epoll,kqueue,nio}. The first available transport out of those listed will be used (nio is always available). If no listed transport is available, an exception will be thrown. <p>By default, only {@code nio} is used, even if native transports are available. If the legacy {@link #isPreferNativeTransport() prefer-native-transport} property is set to {@code true}, this defaults to {@code io_uring,epoll,kqueue,nio}.
micronaut.netty.event-loops.*.executorjava.lang.StringA named executor service to use for event loop threads (optional). This property is very specialized. In particular, it will <i>not</i> solve read timeouts or fix blocking operations on the event loop, in fact it may do the opposite. Don’t use unless you really know what this does.
micronaut.netty.event-loops.*.shutdown-quiet-periodjava.time.DurationThe shutdown quiet period
micronaut.netty.event-loops.*.shutdown-timeoutjava.time.DurationThe shutdown timeout (must be >= shutdownQuietPeriod)
micronaut.netty.event-loops.*.loom-carrierbooleanWhen set to {@code true}, use a special <i>experimental</i> event loop that can also execute virtual threads, in order to improve virtual thread performance.false

Configuration properties for LoomCarrierConfiguration

PropertyTypeDescriptionDefault
micronaut.netty.loom-carrier.time-slice-latencyjava.time.DurationTime slice size in latency mode.500us
micronaut.netty.loom-carrier.time-slice-throughputjava.time.DurationTime slice size in throughput mode.5ms
micronaut.netty.loom-carrier.fifo-switch-timejava.time.DurationNumber of nanoseconds between switching between continuation FILO and FIFO modes.1ms
micronaut.netty.loom-carrier.task-fifo-thresholdjava.time.DurationOldest enqueued continuation must be this old before execution can switch to FIFO mode.5ms
micronaut.netty.loom-carrier.block-timejava.time.DurationMaximum blocking wait time.1s
micronaut.netty.loom-carrier.throughput-mode-thresholdintMaximum number of queued tasks before entering throughput mode.10
micronaut.netty.loom-carrier.work-spill-thresholdintMaximum number of threads per event loop before work spilling should kick in.2
micronaut.netty.loom-carrier.normal-warmup-tasksintNumber of tasks that should run on the normal FJP to initialize e.g. the Poller before switching to the netty scheduler100

Configuration properties for NettyGlobalConfiguration

PropertyTypeDescription
netty.resource-leak-detector-levelio.netty.util.ResourceLeakDetector$LevelSets the resource leak detection level.
netty.default-thread-factory-reactor-non-blockingbooleanDefault value: true. If {@code true}, netty event loop threads will implement project reactor {@link reactor.core.scheduler.NonBlocking} by default. Because of that, any Project Reactor’s blocking operations throw an exception on those threads.
netty.default-thread-factory-daemonbooleanDefault value: false.
netty.default-thread-factory-priorityintDefault value: false. Minimum value: {@value Thread.MIN_PRIORITY}, maximum value: {@value Thread.MAX_PRIORITY}

Micronaut Http Server Config Properties

Configuration properties for HttpServerConfiguration

PropertyTypeDescriptionDefault
micronaut.server.http-versionHttpVersionSets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.
micronaut.server.thread-selectionThreadSelectionSets the ThreadSelection model to use for the server. Default value MANUAL.
micronaut.server.redispatch-non-blocking-onlybooleanSets whether configured executors are used only for calls from non-blocking threads. Requests begin on a non-blocking event-loop thread and are redispatched when the configured executor needs blocking-capable execution. If this is {@code true}, Micronaut skips repeated redispatch once request processing is already running on a blocking-capable thread such as a blocking pool or virtual thread. Filters, event listeners, and route code can then continue on that current blocking thread instead of hopping again for each stage. If this is {@code false}, Micronaut applies the configured executor at each stage even when execution is already on a blocking-capable thread. This more closely matches the older behavior, but can introduce additional executor hops and, with virtual threads, more virtual thread creation during a single request.
micronaut.server.default-charsetjava.nio.charset.CharsetThe default charset to use
micronaut.server.portintSets the port to bind to. Default value (-1)
micronaut.server.hostjava.lang.StringSets the host to bind to.
micronaut.server.read-timeoutjava.lang.IntegerSets the default read timeout.
micronaut.server.max-request-sizelongSets the maximum request size. Default value (1024 * 1024 * 10L => // 10MB)
micronaut.server.max-request-buffer-sizelongSets the maximum number of request bytes that will be buffered. Fully streamed requests can still exceed this value. Default value (1024 * 1024 * 10L => // 10MB). Currently limited to {@code 2^31}, if you need longer request bodies, stream them.<br> Note that there is always some internal buffering, so a very low value ({@code < ~64K}) will essentially act like a request size limit.
micronaut.server.read-idle-timeoutjava.time.DurationSets the amount of time a connection can remain idle without any reads occurring. Default value (5L minutes).
micronaut.server.write-idle-timeoutjava.time.DurationSets the amount of time a connection can remain idle without any writes occurring. Default value (5L minutes).
micronaut.server.idle-timeoutjava.time.DurationSets the idle time of connections for the server. Default value (5 minutes).
micronaut.server.server-headerjava.lang.StringSets the name of the server header.
micronaut.server.date-headerbooleanSets whether a date header should be sent back. Default value (true).
micronaut.server.log-handled-exceptionsbooleanSets whether exceptions handled by either an error route or exception handler should still be logged. Default value (false).
micronaut.server.error-response-include-messageHttpServerConfiguration$ErrorResponseIncludeMessageModeSets when unhandled exception messages should be included in error responses. Default value (ErrorResponseIncludeMessageMode.NEVER).
micronaut.server.client-address-headerjava.lang.StringWhich header stores the original client
micronaut.server.context-pathjava.lang.StringSets the context path for the web server.
micronaut.server.dual-protocolbooleanif dual protocol has been enabled or not
micronaut.server.http-to-https-redirectbooleanif redirection from HTTP to HTTPS is enabled or not
micronaut.server.dispatch-options-requestsbooleanSet to true to dispatch OPTIONS requests. Default value (false.
micronaut.server.validate-urlbooleanIf the url should be validated by converting it to {@link java.net.URI}.
micronaut.server.escape-html-urlbooleanBrowsers can send characters (such as {@code}) which are not permitted under RFC 3986 as part of the request path. These characters are normally rejected by the server. If this setting is enabled, the server will escape these characters before parsing them using {@link java.net.URI} so that they are not rejected. Default off.

Configuration properties for HttpServerConfiguration$CorsConfiguration

PropertyTypeDescription
micronaut.server.cors.enabledbooleanSets whether CORS is enabled. Default value (false)
micronaut.server.cors.localhost-pass-throughbooleanSets whether localhost pass-through is enabled. Default value false. Setting this to true will allow requests to be made to localhost from any origin.
micronaut.server.cors.configurationsjava.util.MapSets the CORS configurations.
micronaut.server.cors.single-headerbooleanSets whether CORS header values should be joined into a single header. Default value (false).

Configuration properties for HttpServerConfiguration$HostResolutionConfiguration

PropertyTypeDescription
micronaut.server.host-resolution.host-headerjava.lang.StringThe host header name
micronaut.server.host-resolution.protocol-headerjava.lang.StringThe protocol header name
micronaut.server.host-resolution.port-headerjava.lang.StringThe port header name
micronaut.server.host-resolution.port-in-hostbooleanIf the host header supports a port
micronaut.server.host-resolution.allowed-hostsjava.util.ListThe list of hosts to validate the resolved host against.

Configuration properties for HttpServerConfiguration$HttpLocaleResolutionConfigurationProperties

PropertyTypeDescription
micronaut.server.locale-resolution.fixedjava.util.LocaleSet the language tag for the locale. Supports BCP 47 language tags (e.g. "en-US") and ISO standard (e.g "en_US").
micronaut.server.locale-resolution.session-attributejava.lang.StringSets the key in the session to look for the locale.
micronaut.server.locale-resolution.default-localejava.util.LocaleSets the locale that will be used if the locale cannot be resolved through any means. Defaults to the system default.
micronaut.server.locale-resolution.cookie-namejava.lang.StringSets the name of the cookie that is used to store the locale.
micronaut.server.locale-resolution.headerbooleanSet to true if the locale should be resolved from the Accept-Language header. Default value (true).

Configuration properties for HttpServerConfiguration$MultipartConfiguration

PropertyTypeDescription
micronaut.server.multipart.locationjava.io.FileSets the location to store files.
micronaut.server.multipart.max-file-sizelongSets the max file size. Default value (1024L * 1024 => 1MB).
micronaut.server.multipart.enabledbooleanSets whether multipart processing is enabled. Default value (false).
micronaut.server.multipart.diskbooleanSets whether to buffer data to disk or not. Default value (false).
micronaut.server.multipart.mixedbooleanSets whether to buffer data to disk if the size is greater than the threshold. Default value (false).
micronaut.server.multipart.thresholdlongSets the amount of data that should be received that will trigger the data to be stored to disk. Default value (1024L * 1024 * 10).

Configuration properties for HttpServerConfiguration$FileTypeHandlerConfiguration

PropertyTypeDescription
micronaut.server.responses.file.cache-secondsintCache Seconds. Default value (60).

Configuration properties for HttpServerConfiguration$FileTypeHandlerConfiguration$CacheControlConfiguration

PropertyTypeDescription
micronaut.server.responses.file.cache-control.publicbooleanSets whether the cache control is public. Default value (false)
micronaut.server.responses.file.cache-control.public-cacheboolean

Micronaut Http Server Netty Config Properties

Configuration properties for NettyHttpServerConfiguration

PropertyTypeDescription
micronaut.server.http-versionHttpVersion
micronaut.server.thread-selectionThreadSelection
micronaut.server.redispatch-non-blocking-onlyboolean
micronaut.server.default-charsetjava.nio.charset.Charset
micronaut.server.portint
micronaut.server.hostjava.lang.String
micronaut.server.read-timeoutjava.lang.Integer
micronaut.server.max-request-sizelong
micronaut.server.max-request-buffer-sizelong
micronaut.server.read-idle-timeoutjava.time.Duration
micronaut.server.write-idle-timeoutjava.time.Duration
micronaut.server.idle-timeoutjava.time.Duration
micronaut.server.server-headerjava.lang.String
micronaut.server.date-headerboolean
micronaut.server.log-handled-exceptionsboolean
micronaut.server.error-response-include-messageHttpServerConfiguration$ErrorResponseIncludeMessageMode
micronaut.server.client-address-headerjava.lang.String
micronaut.server.context-pathjava.lang.String
micronaut.server.dual-protocolboolean
micronaut.server.http-to-https-redirectboolean
micronaut.server.dispatch-options-requestsboolean
micronaut.server.validate-urlboolean
micronaut.server.escape-html-urlboolean
micronaut.server.not-found-on-missing-bodyboolean
micronaut.server.semicolon-is-normal-charboolean
micronaut.server.max-paramsint
micronaut.server.netty.server-typeNettyHttpServerConfiguration$HttpServerTypeSet the server type.
micronaut.server.netty.close-on-expectation-failedbooleanIf a 100-continue response is detected but the content length is too large then true means close the connection. otherwise the connection will remain open and data will be consumed and discarded until the next request is received. <p>only relevant when {@link HttpServerType#FULL_CONTENT} is set</p>
micronaut.server.netty.fallback-protocoljava.lang.StringSets the fallback protocol to use when negotiating via ALPN.
micronaut.server.netty.log-levelio.netty.handler.logging.LogLevelSets the Netty log level.
micronaut.server.netty.max-initial-line-lengthintSets the maximum initial line length for the HTTP request. Default value (4096).
micronaut.server.netty.max-header-sizeintSets the maximum header size. Default value (8192).
micronaut.server.netty.max-chunk-sizeintSets the maximum size of any single request chunk. Default value (8192).
micronaut.server.netty.max-h2c-upgrade-request-sizeintSets the maximum size of the body of the HTTP1.1 request used to upgrade a connection to HTTP2 clear-text (h2c). This initial request cannot be streamed and is instead buffered in full, so the default value (8192) is relatively small. <i>If this value is too small for your use case, instead consider using an empty initial "upgrade request" (e.g. {@code OPTIONS /}), or switch to normal HTTP2.</i> <p> <i>Does not affect normal HTTP2 (TLS).</i>
micronaut.server.netty.chunked-supportedbooleanSets whether chunked transfer encoding is supported. Default value (true).
micronaut.server.netty.use-native-transportbooleanSets whether to use netty’s native transport (epoll or kqueue) if available . Default value (false).
micronaut.server.netty.validate-headersbooleanSets whether to validate incoming headers. Default value (true).
micronaut.server.netty.initial-buffer-sizeintSets the initial buffer size. Default value (128).
micronaut.server.netty.compression-thresholdintSets the minimum size of a request body must be in order to be compressed. Default value (1024).
micronaut.server.netty.compression-levelintSets the compression level (0-9). Default value (6).
micronaut.server.netty.max-zstd-encode-sizeintSets the maximum size of data that can be encoded using the zstd algorithm. Default value (1024 * 1024 * 32).
micronaut.server.netty.child-optionsjava.util.MapSets the Netty child worker options.
micronaut.server.netty.optionsjava.util.MapSets the channel options.
micronaut.server.netty.keep-alive-on-server-errorbooleanWhether to send connection keep alive on internal server errors. Default value ({@value DEFAULT_KEEP_ALIVE_ON_SERVER_ERROR}).
micronaut.server.netty.pcap-logging-path-patternjava.lang.StringThe path pattern to use for logging incoming connections to pcap. This is an unsupported option: Behavior may change, or it may disappear entirely, without notice!
micronaut.server.netty.listenersjava.util.ListSet the explicit netty listener configurations, or {@code null} if they should be implicit.
micronaut.server.netty.eager-parsingbooleanParse incoming JSON data eagerly, before route binding. Default value {@value DEFAULT_EAGER_PARSING}.
micronaut.server.netty.json-buffer-max-componentsintMaximum number of buffers to keep around in JSON parsing before they should be consolidated. Defaults to 4096.
micronaut.server.netty.request-decompression-enabledbooleanEnable or disable automatic request content decompression in the Netty HTTP server. Disabling this can be useful for proxy or testing scenarios where the compressed payload and Content-Encoding header need to be observed.
micronaut.server.netty.legacy-multiplex-handlersbooleanPrior to 4.4.0, the Micronaut HTTP server used a multi-pipeline approach for handling HTTP/2 connections where every request got its own netty pipeline with HTTP/2 to HTTP/1.1 converters on the pipeline. This allowed for using mostly unchanged HTTP/1.1 in the request handling and any NettyServerCustomizer s. <p> As of 4.4.0, this approach was replaced with a more performant HTTP/2-specific implementation. This means worse compatibility with HTTP/1.1-based code paths and customizers, however. Setting this option to {@code true} returns to the old behavior.
micronaut.server.netty.form-max-fieldsintThe maximum number of form fields permitted in a request.
micronaut.server.netty.field-max-buffered-byteslongThe maximum number of bytes that are allowed to be buffered per form value. If there are multiple fields, this limit is counted separately for each.
micronaut.server.netty.field-max-byteslongThe maximum number of bytes per form <i>value</i>. If there are multiple fields, this limit is counted separately for each.
micronaut.server.netty.form-max-buffered-byteslongThe maximum number of bytes the entire form is allowed to buffer internally. If multiple fields are buffered, this limit is shared.
micronaut.server.netty.form-max-byteslongThe maximum number of bytes of all form <i>values</i>. If there are multiple fields, this limit is shared.
micronaut.server.netty.form-decoder-quirksjava.util.SetThe decoder quirks for the <a href="https://github.com/netty-contrib/codec-multipart/">next-generation multipart parser</a>, if present. No quirks by default.

Configuration properties for NettyHttpServerConfiguration$AccessLogger

PropertyTypeDescription
micronaut.server.netty.access-logger.enabledbooleanEnables or Disables the access logger.
micronaut.server.netty.access-logger.logger-namejava.lang.StringSets the logger name to use. If not specified 'HTTP_ACCESS_LOGGER' will be used.
micronaut.server.netty.access-logger.log-formatjava.lang.StringSets the log format to use. When not specified, the Common Log Format (CLF) will be used.
micronaut.server.netty.access-logger.exclusionsjava.util.ListSets the URI patterns to be excluded from the access log.

Configuration properties for NettyHttpServerConfiguration$Http2Settings

PropertyTypeDescription
micronaut.server.netty.http2.header-table-sizejava.lang.LongSets the {@code SETTINGS_HEADER_TABLE_SIZE} value.
micronaut.server.netty.http2.push-enabledjava.lang.BooleanDoes nothing.
micronaut.server.netty.http2.max-concurrent-streamsjava.lang.LongSets the {@code SETTINGS_MAX_CONCURRENT_STREAMS} value.
micronaut.server.netty.http2.initial-window-sizejava.lang.IntegerSets the {@code SETTINGS_INITIAL_WINDOW_SIZE} value.
micronaut.server.netty.http2.max-frame-sizejava.lang.IntegerSets the {@code SETTINGS_MAX_FRAME_SIZE} value.
micronaut.server.netty.http2.max-header-list-sizejava.lang.LongSets the {@code SETTINGS_MAX_HEADER_LIST_SIZE} value.

Configuration properties for NettyHttpServerConfiguration$Http3Settings

PropertyTypeDescription
micronaut.server.netty.http3.initial-max-dataintQUIC initial_max_data setting, see RFC 9000.
micronaut.server.netty.http3.initial-max-stream-data-bidirectional-localintQUIC initial_max_stream_data_bidi_local setting, see RFC 9000.
micronaut.server.netty.http3.initial-max-stream-data-bidirectional-remoteintQUIC initial_max_stream_data_bidi_remote setting, see RFC 9000.
micronaut.server.netty.http3.initial-max-streams-bidirectionalintQUIC initial_max_streams_bidi setting, see RFC 9000.

Configuration properties for NettyHttpServerConfiguration$NettyListenerConfiguration

PropertyTypeDescription
micronaut.server.netty.listeners.*.familyNettyHttpServerConfiguration$NettyListenerConfiguration$FamilyThe address family of this listener.
micronaut.server.netty.listeners.*.sslbooleanWhether to enable SSL on this listener. Also requires ssl.SslConfiguration#isEnabled() to be set.
micronaut.server.netty.listeners.*.key-namejava.lang.StringName of a CertificateProvider bean that supplies the private key and certificate chain for this listener’s SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates. If not set, the global SSL configuration (e.g. ssl.SslConfiguration#getKeyName() ) or legacy keystore properties may be used instead.
micronaut.server.netty.listeners.*.trust-namejava.lang.StringName of a CertificateProvider bean that supplies the trust material (trusted certificates) for this listener’s SSL context. When set, Micronaut resolves the named provider and subscribes to its keystore updates. If not set, the global SSL configuration (e.g. ssl.SslConfiguration#getTrustName() ) or legacy trust store properties may be used instead.
micronaut.server.netty.listeners.*.hostjava.lang.StringFor TCP listeners, the host to bind to, or {@code null} to bind to all hosts.
micronaut.server.netty.listeners.*.portintThe TCP port to bind to. May be {@code -1} to bind to a random port.
micronaut.server.netty.listeners.*.pathjava.lang.StringFor UNIX domain sockets, the path of the socket. For abstract domain sockets, this should start with a NUL byte.
micronaut.server.netty.listeners.*.expose-default-routesbooleanWhether to expose default routes on this listener.
micronaut.server.netty.listeners.*.support-graceful-shutdownbooleanIf {@code true} (the default), this listener will stop accepting new connections and terminate any existing ones when a graceful shutdown is initiated. By setting this to {@code false} you can ignore the graceful shutdown, e.g. to keep a management port up while the shutdown of other listeners is in progress.
micronaut.server.netty.listeners.*.fdjava.lang.IntegerThe fixed file descriptor for this listener, or {@code null} if a new file descriptor should be opened (the default).
micronaut.server.netty.listeners.*.bindbooleanWhether the server should bind to the socket. {@code true} by default. If set to {@code false}, the socket must already be bound and listening.
micronaut.server.netty.listeners.*.server-socketbooleanWhether to create a server socket. This is on by default. Turning it off only makes sense in combination with {@link #acceptedFd}.
micronaut.server.netty.listeners.*.accepted-fdjava.lang.IntegerAn already accepted socket fd that should be registered to this listener.

Configuration properties for NettyHttpServerConfiguration$Parent

PropertyTypeDescription
micronaut.server.netty.parent.namejava.lang.String
micronaut.server.netty.parent.event-loop-groupjava.lang.StringSets the name to use.
micronaut.server.netty.parent.threadsintSets the number of threads for the event loop group.
micronaut.server.netty.parent.io-ratiojava.lang.IntegerSets the I/O ratio.
micronaut.server.netty.parent.executorjava.lang.StringA named executor service to use for event loop threads (optional). This property is very specialized. In particular, it will <i>not</i> solve read timeouts or fix blocking operations on the event loop, in fact it may do the opposite. Don’t use unless you really know what this does.
micronaut.server.netty.parent.prefer-native-transportbooleanSet whether to prefer the native transport if available
micronaut.server.netty.parent.shutdown-quiet-periodjava.time.DurationSet the shutdown quiet period
micronaut.server.netty.parent.shutdown-timeoutjava.time.DurationSet the shutdown timeout (must be >= shutdownQuietPeriod)
micronaut.server.netty.parent.thread-core-ratiodoubleThe number of threads per core to use if {@link #getNumThreads()} is set to 0.
micronaut.server.netty.parent.transportjava.util.ListThe transports to use for this event loop, in order of preference. Supported values are {@code io_uring,epoll,kqueue,nio}. The first available transport out of those listed will be used (nio is always available). If no listed transport is available, an exception will be thrown. <p>By default, only {@code nio} is used, even if native transports are available. If the legacy {@link #isPreferNativeTransport() prefer-native-transport} property is set to {@code true}, this defaults to {@code io_uring,epoll,kqueue,nio}.
micronaut.server.netty.parent.loom-carrierbooleanWhen set to {@code true}, use a special <i>experimental</i> event loop that can also execute virtual threads, in order to improve virtual thread performance.

Configuration properties for NettyHttpServerConfiguration$FileTypeHandlerConfiguration

PropertyTypeDescription
micronaut.server.netty.responses.file.cache-secondsintCache Seconds. Default value (60).

Configuration properties for NettyHttpServerConfiguration$FileTypeHandlerConfiguration$CacheControlConfiguration

PropertyTypeDescription
micronaut.server.netty.responses.file.cache-control.publicbooleanSets whether the cache control is public. Default value (false)
micronaut.server.netty.responses.file.cache-control.public-cacheboolean

Configuration properties for NettyHttpServerConfiguration$Worker

PropertyTypeDescription
micronaut.server.netty.worker.namejava.lang.String
micronaut.server.netty.worker.event-loop-groupjava.lang.StringSets the name to use.
micronaut.server.netty.worker.threadsintSets the number of threads for the event loop group.
micronaut.server.netty.worker.io-ratiojava.lang.IntegerSets the I/O ratio.
micronaut.server.netty.worker.executorjava.lang.StringA named executor service to use for event loop threads (optional). This property is very specialized. In particular, it will <i>not</i> solve read timeouts or fix blocking operations on the event loop, in fact it may do the opposite. Don’t use unless you really know what this does.
micronaut.server.netty.worker.prefer-native-transportbooleanSet whether to prefer the native transport if available
micronaut.server.netty.worker.shutdown-quiet-periodjava.time.DurationSet the shutdown quiet period
micronaut.server.netty.worker.shutdown-timeoutjava.time.DurationSet the shutdown timeout (must be >= shutdownQuietPeriod)
micronaut.server.netty.worker.thread-core-ratiodoubleThe number of threads per core to use if {@link #getNumThreads()} is set to 0.
micronaut.server.netty.worker.transportjava.util.ListThe transports to use for this event loop, in order of preference. Supported values are {@code io_uring,epoll,kqueue,nio}. The first available transport out of those listed will be used (nio is always available). If no listed transport is available, an exception will be thrown. <p>By default, only {@code nio} is used, even if native transports are available. If the legacy {@link #isPreferNativeTransport() prefer-native-transport} property is set to {@code true}, this defaults to {@code io_uring,epoll,kqueue,nio}.
micronaut.server.netty.worker.loom-carrierbooleanWhen set to {@code true}, use a special <i>experimental</i> event loop that can also execute virtual threads, in order to improve virtual thread performance.

Micronaut Jackson Databind Config Properties

Configuration properties for JacksonConfiguration

PropertyTypeDescription
jackson.module-scanbooleanSets whether to scan for modules or not (defaults to true).
jackson.serialization-inclusioncom.fasterxml.jackson.annotation.JsonInclude$IncludeSets the serialization inclusion mode.
jackson.default-typingtools.jackson.databind.DefaultTypingSets the global defaultTyping using for Polymorphic handling.
jackson.localejava.util.LocaleSets the locale to use.
jackson.time-zonejava.util.TimeZoneSets the timezone to use.
jackson.date-formatjava.lang.StringSets the default date format to use.
jackson.array-size-thresholdintSets the array size threshold for data binding. Default value (100).
jackson.property-naming-strategytools.jackson.databind.PropertyNamingStrategySets the property naming strategy.
jackson.always-serialize-errors-as-listbooleanSets whether _embedded.errors should always be serialized as list (defaults to false). If set to false, _embedded.errors with 1 element will be serialized as an object.
jackson.trim-stringsbooleanWhether strings should be trimmed when deserializing (defaults to false). If the resulting string is an empty string, then null will be applied instead.
jackson.serialization-featuresjava.util.MapSets the serialization features to use.
jackson.deserialization-featuresjava.util.MapSets the deserialization features to use.
jackson.mapper-featuresjava.util.MapSets the object mapper features to use.
jackson.stream-write-featuresjava.util.MapFormat-independent stream write features.
jackson.stream-read-featuresjava.util.MapFormat-independent stream read features.
jackson.json-factory-featuresjava.util.MapJSON factory features.
jackson.json-write-featuresjava.util.MapJSON stream write features.
jackson.json-read-featuresjava.util.MapJSON stream read features.
jackson.enum-featuresjava.util.MapEnum data binding features.
jackson.date-time-featuresjava.util.MapDate/time data binding features.
jackson.json-node-featuresjava.util.MapJsonNode data binding features.
jackson.jackson2-databind-annotation-supportbooleanEnable support for some jackson-databind 2.x annotations (in the com.fasterxml.jackson.databind.annotation package). Only works if the annotations are on the classpath at runtime.

Micronaut Management Config Properties

Configuration properties for EndpointConfiguration

PropertyTypeDescription
endpoints.*.enabledjava.lang.BooleanSets whether the endpoint is enabled.
endpoints.*.sensitivejava.lang.BooleanSets whether the endpoint is sensitive.
endpoints.*.pathjava.lang.StringEndpoint’s path. If not set the endpoint name is used as the path.

Configuration properties for EndpointDefaultConfiguration

PropertyTypeDescription
endpoints.all.pathjava.lang.StringThe endpoints base path. It must include a leading and trailing '/'. Default value ("/").
endpoints.all.context-pathjava.lang.StringThe endpoints context path. Default value is null.
endpoints.all.enabledjava.lang.BooleanSets whether the endpoint is enabled.
endpoints.all.sensitivejava.lang.BooleanSets whether the endpoint is sensitive.
endpoints.all.portjava.lang.IntegerSets the port to expose endpoints via.

Configuration properties for EnvironmentEndpoint

PropertyTypeDescription
endpoints.env.active-keysjava.util.ListSets the sections to be displayed by the environment endpoint. Example: {@code endpoints.env.active-keys=activeEnvironments,packages}

Configuration properties for HealthEndpoint

PropertyTypeDescription
endpoints.health.service-ready-indicator-enabledbooleanSet whether the ServiceReadyHealthIndicator is enabled. Defaults to {@code true}.
endpoints.health.details-visibleDetailsVisibilitySets the visibility policy for health information.

Configuration properties for DiscoveryClientHealthIndicatorConfiguration

PropertyTypeDescription
endpoints.health.discovery-client.enabledbooleanIf health indicator should be enabled. Default is true.

Configuration properties for DiskSpaceIndicatorConfiguration

PropertyTypeDescription
endpoints.health.disk-space.enabledbooleanDefault value (true).
endpoints.health.disk-space.pathjava.io.FileDefault value (".").
endpoints.health.disk-space.thresholdlongDefault value (1024L * 1024 * 10 => 10MB).

Configuration properties for HealthEndpoint$StatusConfiguration

PropertyTypeDescription
endpoints.health.status.http-mappingjava.util.MapSet how {@link HealthStatus} map to HttpStatus codes.

Configuration properties for InfoEndpoint

PropertyTypeDescription
endpoints.info.info-aggregatorInfoAggregator
endpoints.info.info-sourcesInfoSource

Configuration properties for LoggersEndpoint

PropertyTypeDescription
endpoints.loggers.write-sensitivebooleanDetermines whether modifications to the log level should require authentication. Default value (true).

Micronaut Router Config Properties

Configuration properties for StaticResourceConfiguration

PropertyTypeDescription
micronaut.router.static-resources.*.enabledbooleanSets whether this specific mapping is enabled. Default value (true).
micronaut.router.static-resources.*.mappingjava.lang.StringThe path resources should be served from. Uses ant path matching. Default value ("/**").
micronaut.router.static-resources.*.pathsjava.util.ListA list of paths either starting with classpath: or file: . You can serve files from anywhere on disk or the classpath. For example to serve static resources from src/main/resources/public , you would use classpath:public as the path.

Configuration properties for RoutesVersioningConfiguration

PropertyTypeDescription
micronaut.router.versioning.enabledboolean{@code true} if version based matches filtering is enabled.
micronaut.router.versioning.default-versionjava.lang.StringSets the version to use if the version cannot be resolved. Default value (null).

Configuration properties for HeaderVersionResolverConfiguration

PropertyTypeDescription
micronaut.router.versioning.header.namesjava.util.ListSets which headers should be searched for a version.
micronaut.router.versioning.header.enabledbooleanSets whether headers should be searched for a version.

Configuration properties for ParameterVersionResolverConfiguration

PropertyTypeDescription
micronaut.router.versioning.parameter.namesjava.util.ListSets which parameter should be searched for a version.
micronaut.router.versioning.parameter.enabledbooleanSets whether parameter should be searched for a version.