Configuration Reference

Version:4.10.2

Micronaut Buffer Netty Config Properties

🔗
Table 1. Configuration Properties for DefaultByteBufAllocatorConfiguration
Property Type Description

netty.default.allocator.num-heap-arenas

java.lang.Integer

The number of heap arenas

netty.default.allocator.num-direct-arenas

java.lang.Integer

The number of direct arenas

netty.default.allocator.page-size

java.lang.Integer

The page size

netty.default.allocator.max-order

java.lang.Integer

The max order

netty.default.allocator.chunk-size

java.lang.Integer

The chunk size

netty.default.allocator.small-cache-size

java.lang.Integer

The small cache size

netty.default.allocator.normal-cache-size

java.lang.Integer

The normal cache size

netty.default.allocator.use-cache-for-all-threads

java.lang.Boolean

Whether to use the cache for all threads

netty.default.allocator.max-cached-buffer-capacity

java.lang.Integer

The max cached buffer capacity

netty.default.allocator.cache-trim-interval

java.lang.Integer

The cache trim interval

netty.default.allocator.max-cached-byte-buffers-per-chunk

java.lang.Integer

The max cached byte buffers per chunk

Micronaut Context Config Properties

🔗
Table 2. Configuration Properties for GracefulShutdownConfiguration
Property Type Description

micronaut.lifecycle.graceful-shutdown.enabled

boolean

Whether to enable graceful shutdown on normal shutdown. Off by default.

micronaut.lifecycle.graceful-shutdown.grace-period

java.time.Duration

Duration to wait until forcing a shutdown.

🔗
Table 3. Configuration Properties for UserExecutorConfiguration
Property Type Description

micronaut.executors.*.n-threads

java.lang.Integer

number of threads

micronaut.executors.*.type

ExecutorType

the type

micronaut.executors.*.parallelism

java.lang.Integer

the parallelism

micronaut.executors.*.core-pool-size

java.lang.Integer

the core pool size

micronaut.executors.*.virtual

java.lang.Boolean

whether to use virtual threads

micronaut.executors.*.thread-factory-class

java.lang.Class

the thread factory class

micronaut.executors.*.name

java.lang.String

Sets the executor name.

micronaut.executors.*.number-of-threads

java.lang.Integer

Sets the number of threads for FIXED. Default value (2 * Number of processors available to the Java virtual machine).

🔗
Table 4. Configuration Properties for FileWatchConfiguration
Property Type Description

micronaut.io.watch.enabled

boolean

Whether watch is enabled.

micronaut.io.watch.restart

boolean

Set whether restart is enabled.

micronaut.io.watch.paths

java.util.List

Sets the watch paths to use.

micronaut.io.watch.check-interval

java.time.Duration

Sets the interval to wait between file watch polls.

🔗
Table 5. Configuration Properties for ApplicationConfiguration
Property Type Description

micronaut.application.default-charset

java.nio.charset.Charset

Default value (UTF-8).

micronaut.application.name

java.lang.String

The application name

🔗
Table 6. Configuration Properties for ApplicationConfiguration$InstanceConfiguration
Property Type Description

micronaut.application.instance.id

java.lang.String

An optional instance identifier

micronaut.application.instance.metadata

java.util.Map

Any metadata to associate with the instance

micronaut.application.instance.group

java.lang.String

The instance auto-scaling group

micronaut.application.instance.zone

java.lang.String

The instance availability zone. For example, it’s possible to configure Netflix Ribbon to load balance between servers only in a particular zone

Micronaut Discovery Core Config Properties

🔗
Table 7. Configuration Properties for HeartbeatConfiguration
Property Type Description

micronaut.heartbeat.interval

java.time.Duration

Default value (15 seconds).

micronaut.heartbeat.enabled

boolean

Default value (true).

🔗
Table 8. Configuration Properties for DigitalOceanMetadataConfiguration
Property Type Description

micronaut.application.digitalocean.metadata.enabled

boolean

Default value (true).

micronaut.application.digitalocean.metadata.url

java.lang.String

Default value ("http://169.254.169.254/metadata/v1.json").

Micronaut Function Config Properties

🔗
Table 9. Configuration Properties for BinaryTypeConfiguration
Property Type Description

micronaut.function.binary-types.use-defaults

boolean

Sets whether to use the default binary types.

micronaut.function.binary-types.additional-types

java.util.List

Sets the additional media types to consider binary.

Micronaut Http Client Core Config Properties

🔗
Table 10. Configuration Properties for DefaultHttpClientConfiguration
Property Type Description

micronaut.http.client.http-version

HttpVersion

Sets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.

micronaut.http.client.log-level

LogLevel

Sets 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-group

java.lang.String

The event loop group to use.

micronaut.http.client.ssl-configuration

SslConfiguration

Sets the SSL configuration for the client.

micronaut.http.client.follow-redirects

boolean

Sets whether redirects should be followed. Default value (DEFAULT_FOLLOW_REDIRECTS).

micronaut.http.client.exception-on-error-status

boolean

Sets whether throwing an exception upon HTTP error status (>= 400) is preferred. Default value (DEFAULT_EXCEPTION_ON_ERROR_STATUS)

micronaut.http.client.decompression-enabled

boolean

Enable 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-name

java.lang.String

Sets the client-specific logger name.

micronaut.http.client.default-charset

java.nio.charset.Charset

Sets the default charset to use. Default value (UTF-8);

micronaut.http.client.channel-options

java.util.Map

The Client channel options.

micronaut.http.client.read-timeout

java.time.Duration

Sets the read timeout. Default value (10 seconds).

micronaut.http.client.request-timeout

java.time.Duration

The 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-timeout

java.time.Duration

For WebSockets, the {@link #getReadTimeout()} method does not apply instead a configurable idle timeout is applied.

micronaut.http.client.connection-pool-idle-timeout

java.time.Duration

Sets the idle timeout for connection in the client connection pool. Defaults to 0.

micronaut.http.client.connect-timeout

java.time.Duration

Sets the connect timeout.

micronaut.http.client.connect-ttl

java.time.Duration

Sets the connect timeout.

micronaut.http.client.shutdown-quiet-period

java.time.Duration

Sets 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-timeout

java.time.Duration

Sets the amount of time to wait for shutdown of client thread pools. Default value (100 milliseconds).

micronaut.http.client.num-of-threads

java.lang.Integer

Sets the number of threads the client should use for requests.

micronaut.http.client.thread-factory

java.lang.Class

Sets a thread factory.

micronaut.http.client.max-content-length

int

Sets the maximum content length the client can consume. Default value (1024 * 1024 * 10 => 10MB).

micronaut.http.client.max-header-size

int

Sets the maximum header size the client can handle. Default value (8192).

micronaut.http.client.proxy-type

java.net.Proxy$Type

The proxy type

micronaut.http.client.proxy-address

java.net.SocketAddress

Sets a proxy address.

micronaut.http.client.proxy-username

java.lang.String

Sets the proxy username to use.

micronaut.http.client.proxy-password

java.lang.String

Sets the proxy password.

micronaut.http.client.proxy-selector

java.net.ProxySelector

Sets 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-mode

HttpVersionSelection$PlaintextMode

The 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-modes

java.util.List

The 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-loop

boolean

Whether 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-mode

HttpClientConfiguration$DnsResolutionMode

Configure 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-name

java.lang.String

Name 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-pattern

java.lang.String

The 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.

🔗
Table 11. Configuration Properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultKeyConfiguration
Property Type Description

micronaut.http.services.*.ssl.key-name

java.lang.String

micronaut.http.services.*.ssl.key.password

java.lang.String

micronaut.http.services.*.ssl.key.alias

java.lang.String

🔗
Table 12. Configuration Properties for DefaultHttpClientConfiguration$DefaultWebSocketCompressionConfiguration
Property Type Description

micronaut.http.client.ws.compression.enabled

boolean

Sets whether the per message deflate extension is enabled for WebSocket connections. Default value (DEFAULT_ENABLED).

🔗
Table 13. Configuration Properties for DefaultHttpClientConfiguration$DefaultConnectionPoolConfiguration
Property Type Description

micronaut.http.client.pool.enabled

boolean

Sets whether connection pooling is enabled. Default value (true).

micronaut.http.client.pool.max-pending-acquires

int

Sets the max pending acquires.

micronaut.http.client.pool.acquire-timeout

java.time.Duration

Sets the timeout to wait for a connection.

micronaut.http.client.pool.max-pending-connections

int

The maximum number of <i>pending</i> (new) connections before they are assigned to a pool.

micronaut.http.client.pool.max-concurrent-requests-per-http2-connection

int

The maximum number of requests (streams) that can run concurrently on one HTTP2 connection.

micronaut.http.client.pool.max-concurrent-http1-connections

int

The maximum number of concurrent HTTP1 connections in the pool.

micronaut.http.client.pool.max-concurrent-http2-connections

int

The maximum number of concurrent HTTP2 connections in the pool.

micronaut.http.client.pool.connection-locality

HttpClientConfiguration$ConnectionPoolConfiguration$ConnectionLocality

Optimize locality of client connections depending on which event loop makes a request. [available in the Netty HTTP client]

micronaut.http.client.pool.version

HttpClientConfiguration$ConnectionPoolConfiguration$PoolVersion

The version of the connection pool implementation. Defaults to {@code V4_9}, can be set to {@code V4_0} for compatibility.

🔗
Table 14. Configuration Properties for ServiceHttpClientConfiguration
Property Type Description

micronaut.http.services.*.http-version

HttpVersion

Sets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.

micronaut.http.services.*.log-level

LogLevel

Sets 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-group

java.lang.String

The event loop group to use.

micronaut.http.services.*.follow-redirects

boolean

Sets whether redirects should be followed. Default value (DEFAULT_FOLLOW_REDIRECTS).

micronaut.http.services.*.exception-on-error-status

boolean

Sets whether throwing an exception upon HTTP error status (>= 400) is preferred. Default value (DEFAULT_EXCEPTION_ON_ERROR_STATUS)

micronaut.http.services.*.decompression-enabled

boolean

Enable 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-name

java.lang.String

Sets the client-specific logger name.

micronaut.http.services.*.default-charset

java.nio.charset.Charset

Sets the default charset to use. Default value (UTF-8);

micronaut.http.services.*.channel-options

java.util.Map

The Client channel options.

micronaut.http.services.*.read-timeout

java.time.Duration

Sets the read timeout. Default value (10 seconds).

micronaut.http.services.*.request-timeout

java.time.Duration

The 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-timeout

java.time.Duration

For WebSockets, the {@link #getReadTimeout()} method does not apply instead a configurable idle timeout is applied.

micronaut.http.services.*.connection-pool-idle-timeout

java.time.Duration

Sets the idle timeout for connection in the client connection pool. Defaults to 0.

micronaut.http.services.*.connect-timeout

java.time.Duration

Sets the connect timeout.

micronaut.http.services.*.connect-ttl

java.time.Duration

Sets the connect timeout.

micronaut.http.services.*.shutdown-quiet-period

java.time.Duration

Sets 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-timeout

java.time.Duration

Sets the amount of time to wait for shutdown of client thread pools. Default value (100 milliseconds).

micronaut.http.services.*.num-of-threads

java.lang.Integer

Sets the number of threads the client should use for requests.

micronaut.http.services.*.thread-factory

java.lang.Class

Sets a thread factory.

micronaut.http.services.*.max-content-length

int

Sets the maximum content length the client can consume. Default value (1024 * 1024 * 10 => 10MB).

micronaut.http.services.*.max-header-size

int

Sets the maximum header size the client can handle. Default value (8192).

micronaut.http.services.*.proxy-type

java.net.Proxy$Type

The proxy type

micronaut.http.services.*.proxy-address

java.net.SocketAddress

Sets a proxy address.

micronaut.http.services.*.proxy-username

java.lang.String

Sets the proxy username to use.

micronaut.http.services.*.proxy-password

java.lang.String

Sets the proxy password.

micronaut.http.services.*.proxy-selector

java.net.ProxySelector

Sets 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-mode

HttpVersionSelection$PlaintextMode

The 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-modes

java.util.List

The 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-loop

boolean

Whether 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-mode

HttpClientConfiguration$DnsResolutionMode

Configure 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-name

java.lang.String

Name 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-pattern

java.lang.String

The 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.*.urls

java.util.List

Sets the URIs of the service.

micronaut.http.services.*.url

java.net.URI

Sets the URL of the service.

micronaut.http.services.*.health-check-uri

java.lang.String

Sets the health check URI. Default value ("/health").

micronaut.http.services.*.health-check

boolean

Sets whether the service health should be checked. Default value (false).

micronaut.http.services.*.path

java.lang.String

Sets the context path to use for requests.

micronaut.http.services.*.health-check-interval

java.time.Duration

Sets the default duration to check health status. Default value (30 seconds).

🔗
Table 15. Configuration Properties for ServiceHttpClientConfiguration$ServiceConnectionPoolConfiguration
Property Type Description

micronaut.http.services.*.pool.enabled

boolean

Sets whether connection pooling is enabled. Default value (true).

micronaut.http.services.*.pool.max-pending-acquires

int

Sets the max pending acquires.

micronaut.http.services.*.pool.acquire-timeout

java.time.Duration

Sets the timeout to wait for a connection.

micronaut.http.services.*.pool.max-pending-connections

int

The maximum number of <i>pending</i> (new) connections before they are assigned to a pool.

micronaut.http.services.*.pool.max-concurrent-requests-per-http2-connection

int

The maximum number of requests (streams) that can run concurrently on one HTTP2 connection.

micronaut.http.services.*.pool.max-concurrent-http1-connections

int

The maximum number of concurrent HTTP1 connections in the pool.

micronaut.http.services.*.pool.max-concurrent-http2-connections

int

The maximum number of concurrent HTTP2 connections in the pool.

micronaut.http.services.*.pool.connection-locality

HttpClientConfiguration$ConnectionPoolConfiguration$ConnectionLocality

Optimize locality of client connections depending on which event loop makes a request. [available in the Netty HTTP client]

micronaut.http.services.*.pool.version

HttpClientConfiguration$ConnectionPoolConfiguration$PoolVersion

The version of the connection pool implementation. Defaults to {@code V4_9}, can be set to {@code V4_0} for compatibility.

🔗
Table 16. Configuration Properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration
Property Type Description

micronaut.http.services.*.ssl-configuration

SslConfiguration

Sets the SSL configuration for the client.

micronaut.http.services.*.ssl.enabled

boolean

micronaut.http.services.*.ssl.port

int

micronaut.http.services.*.ssl.client-authentication

ClientAuthentication

micronaut.http.services.*.ssl.ciphers

java.lang.String

micronaut.http.services.*.ssl.protocols

java.lang.String

micronaut.http.services.*.ssl.trust-name

java.lang.String

micronaut.http.services.*.ssl.protocol

java.lang.String

micronaut.http.services.*.ssl.handshake-timeout

java.time.Duration

micronaut.http.services.*.ssl.build-self-signed

boolean

micronaut.http.services.*.ssl.prefer-openssl

boolean

micronaut.http.services.*.ssl.insecure-trust-all-certificates

boolean

🔗
Table 17. Configuration Properties for NamedClientVersioningConfiguration
Property Type Description

micronaut.http.client.versioning.*.headers

java.util.List

The list of request header names.

micronaut.http.client.versioning.*.parameters

java.util.List

The list of request query parameter names.

🔗
Table 18. Configuration Properties for DefaultClientVersioningConfiguration
Property Type Description

micronaut.http.client.versioning.default.headers

java.util.List

The list of request header names.

micronaut.http.client.versioning.default.parameters

java.util.List

The list of request query parameter names.

🔗
Table 19. Configuration Properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultKeyStoreConfiguration
Property Type Description

micronaut.http.services.*.ssl.key-store.path

java.lang.String

micronaut.http.services.*.ssl.key-store.password

java.lang.String

micronaut.http.services.*.ssl.key-store.type

java.lang.String

micronaut.http.services.*.ssl.key-store.provider

java.lang.String

micronaut.http.services.*.ssl.key-store.key-path

java.lang.String

micronaut.http.services.*.ssl.key-store.certificate-path

java.lang.String

🔗
Table 20. Configuration Properties for ServiceHttpClientConfiguration$ServiceSslClientConfiguration$DefaultTrustStoreConfiguration
Property Type Description

micronaut.http.services.*.ssl.trust-store.path

java.lang.String

micronaut.http.services.*.ssl.trust-store.password

java.lang.String

micronaut.http.services.*.ssl.trust-store.type

java.lang.String

micronaut.http.services.*.ssl.trust-store.provider

java.lang.String

🔗
Table 21. Configuration Properties for ServiceHttpClientConfiguration$ServiceHttp2ClientConfiguration
Property Type Description

micronaut.http.services.*.ws.compression.enabled

boolean

Sets whether the per message deflate extension is enabled for WebSocket connections. Default value (DEFAULT_ENABLED).

micronaut.http.services.*.ws.compression.ping-interval-read

java.time.Duration

For 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.*.ws.compression.ping-interval-write

java.time.Duration

For 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.*.ws.compression.ping-interval-idle

java.time.Duration

For 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.

🔗
Table 22. Configuration Properties for DefaultHttpClientConfiguration$DefaultHttp2ClientConfiguration
Property Type Description

micronaut.http.client.http2.ping-interval-read

java.time.Duration

For 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-write

java.time.Duration

For 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-idle

java.time.Duration

For 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 Config Properties

🔗
Table 23. Configuration Properties for ClientSslConfiguration$DefaultKeyStoreConfiguration
Property Type Description

micronaut.http.client.ssl.key-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.http.client.ssl.key-store.type

java.lang.String

Sets the type of keystore.

micronaut.http.client.ssl.key-store.provider

java.lang.String

Sets the keystore provider name.

micronaut.http.client.ssl.key-store.key-path

java.lang.String

A 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-path

java.lang.String

A 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.

micronaut.http.client.ssl.key-store

SslConfiguration$KeyStoreConfiguration

Sets the keystore configuration.

🔗
Table 24. Configuration Properties for ServerSslConfiguration$DefaultKeyStoreConfiguration
Property Type Description

micronaut.server.ssl.key-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.server.ssl.key-store.type

java.lang.String

Sets the type of keystore.

micronaut.server.ssl.key-store.provider

java.lang.String

Sets the keystore provider name.

micronaut.server.ssl.key-store.key-path

java.lang.String

A 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-path

java.lang.String

A 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.

micronaut.server.ssl.key-store

SslConfiguration$KeyStoreConfiguration

Sets the keystore configuration.

🔗
Table 25. Configuration Properties for DefaultSslConfiguration
Property Type Description

micronaut.ssl.enabled

boolean

Whether SSL is enabled. Default value (false).

micronaut.ssl.port

int

Sets the SSL port. Default value (8443).

micronaut.ssl.client-authentication

ClientAuthentication

Sets the client authentication mode.

micronaut.ssl.ciphers

java.lang.String

Sets the ciphers to use.

micronaut.ssl.protocols

java.lang.String

Sets the protocols to use.

micronaut.ssl.trust-name

java.lang.String

Name 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.protocol

java.lang.String

Sets the protocol to use. Default value ("TLS").

micronaut.ssl.handshake-timeout

java.time.Duration

The timeout for the SSL handshake

micronaut.ssl.build-self-signed

boolean

Sets whether to build a self-signed certificate. Default value (false).

micronaut.ssl.prefer-openssl

boolean

Whether an OpenSSL-backed TLS implementation should be preferred if it’s on the classpath. {@code true} by default.

🔗
Table 26. Configuration Properties for DefaultSslConfiguration$DefaultKeyConfiguration
Property Type Description

micronaut.ssl.key-name

java.lang.String

Name 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.key.password

java.lang.String

Sets the password.

micronaut.ssl.key.alias

java.lang.String

Sets the alias.

🔗
Table 27. Configuration Properties for ResourceCertificateProvider$Config
Property Type Description

micronaut.certificate.resource.*.format

FileCertificateProvider$Format

Explicit 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.*.password

java.lang.String

Password used to open the key store (JKS/PKCS12) or decrypt PEM private keys, if required.

micronaut.certificate.resource.*.resource

java.lang.String

Micronaut 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}).

🔗
Table 28. Configuration Properties for DefaultSslConfiguration$DefaultKeyStoreConfiguration
Property Type Description

micronaut.ssl.key-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.ssl.key-store.type

java.lang.String

Sets the type of keystore.

micronaut.ssl.key-store.provider

java.lang.String

Sets the keystore provider name.

micronaut.ssl.key-store.key-path

java.lang.String

A 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-path

java.lang.String

A 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.

🔗
Table 29. Configuration Properties for ServerSslConfiguration
Property Type Description

micronaut.server.ssl.enabled

boolean

Whether SSL is enabled. Default value (false).

micronaut.server.ssl.port

int

Sets the SSL port. Default value (8443).

micronaut.server.ssl.client-authentication

ClientAuthentication

Sets the client authentication mode.

micronaut.server.ssl.ciphers

java.lang.String

Sets the ciphers to use.

micronaut.server.ssl.protocols

java.lang.String

Sets the protocols to use.

micronaut.server.ssl.trust-name

java.lang.String

Name 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.protocol

java.lang.String

Sets the protocol to use. Default value ("TLS").

micronaut.server.ssl.handshake-timeout

java.time.Duration

The timeout for the SSL handshake

micronaut.server.ssl.prefer-openssl

boolean

Whether an OpenSSL-backed TLS implementation should be preferred if it’s on the classpath. {@code true} by default.

micronaut.server.ssl.build-self-signed

boolean

Sets whether to build a self-signed certificate. Default value (false).

🔗
Table 30. Configuration Properties for FormConfigurationProperties
Property Type Description

micronaut.http.forms.max-decoded-key-value-parameters

int

default maximum of decoded key value parameters. Default value {@link #DEFAULT_MAX_DECODED_KEY_VALUE_PARAMETERS}.

micronaut.http.forms.semicolon-is-normal-char

boolean

true if the semicolon is treated as a normal character, false otherwise

🔗
Table 31. Configuration Properties for ClientSslConfiguration
Property Type Description

micronaut.http.client.ssl.enabled

boolean

Whether SSL is enabled. Default value (false).

micronaut.http.client.ssl.port

int

Sets the SSL port. Default value (8443).

micronaut.http.client.ssl.client-authentication

ClientAuthentication

Sets the client authentication mode.

micronaut.http.client.ssl.ciphers

java.lang.String

Sets the ciphers to use.

micronaut.http.client.ssl.protocols

java.lang.String

Sets the protocols to use.

micronaut.http.client.ssl.trust-name

java.lang.String

Name 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.protocol

java.lang.String

Sets the protocol to use. Default value ("TLS").

micronaut.http.client.ssl.handshake-timeout

java.time.Duration

The timeout for the SSL handshake

micronaut.http.client.ssl.build-self-signed

boolean

Sets whether to build a self-signed certificate. Default value (false).

micronaut.http.client.ssl.prefer-openssl

boolean

Whether 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-certificates

boolean

Whether 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>

🔗
Table 32. Configuration Properties for ClientSslConfiguration$DefaultTrustStoreConfiguration
Property Type Description

micronaut.http.client.ssl.trust-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.http.client.ssl.trust-store.type

java.lang.String

Sets the type of keystore.

micronaut.http.client.ssl.trust-store.provider

java.lang.String

Sets the keystore provider name.

micronaut.http.client.ssl.trust-store

SslConfiguration$TrustStoreConfiguration

Sets the trust store configuration.

🔗
Table 33. Configuration Properties for ServerSslConfiguration$DefaultKeyConfiguration
Property Type Description

micronaut.server.ssl.key.password

java.lang.String

Sets the password.

micronaut.server.ssl.key.alias

java.lang.String

Sets the alias.

micronaut.server.ssl.key

SslConfiguration$KeyConfiguration

Sets the key configuration.

micronaut.server.ssl.key-name

java.lang.String

Name 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.

🔗
Table 34. Configuration Properties for CodecConfiguration
Property Type Description

micronaut.codec.*.additional-types

java.util.List

Default value (Empty list).

🔗
Table 35. Configuration Properties for DefaultSslConfiguration$DefaultTrustStoreConfiguration
Property Type Description

micronaut.ssl.trust-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.ssl.trust-store.type

java.lang.String

Sets the type of keystore.

micronaut.ssl.trust-store.provider

java.lang.String

Sets the keystore provider name.

🔗
Table 36. Configuration Properties for ServerSslConfiguration$DefaultTrustStoreConfiguration
Property Type Description

micronaut.server.ssl.trust-store.path

java.lang.String

The 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.password

java.lang.String

Sets the password to use for the keystore.

micronaut.server.ssl.trust-store.type

java.lang.String

Sets the type of keystore.

micronaut.server.ssl.trust-store.provider

java.lang.String

Sets the keystore provider name.

micronaut.server.ssl.trust-store

SslConfiguration$TrustStoreConfiguration

Sets the trust store configuration.

🔗
Table 37. Configuration Properties for SelfSignedCertificateProvider$Config
Property Type Description

micronaut.certificate.self-signed.*.algorithm

io.netty.pkitesting.CertificateBuilder$Algorithm

Algorithm 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.*.subject

java.lang.String

X.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-interval

java.time.Duration

Interval 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.*.lifetime

java.time.Duration

Validity 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.

🔗
Table 38. Configuration Properties for FileCertificateProvider$Config
Property Type Description

micronaut.certificate.file.*.format

FileCertificateProvider$Format

Explicit 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.*.password

java.lang.String

Password used to open the key store (JKS/PKCS12) or decrypt PEM private keys, if required.

micronaut.certificate.file.*.path

java.nio.file.Path

Path 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-path

java.nio.file.Path

Optional 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-mode

FileCertificateProvider$RefreshMode

Strategy 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-interval

java.time.Duration

Interval used for scheduled reloads when the refresh mode uses a scheduler or when file watching is not available and a scheduled fallback is used.

🔗
Table 39. Configuration Properties for ClientSslConfiguration$DefaultKeyConfiguration
Property Type Description

micronaut.http.client.ssl.key.password

java.lang.String

Sets the password.

micronaut.http.client.ssl.key.alias

java.lang.String

Sets the alias.

micronaut.http.client.ssl.key

SslConfiguration$KeyConfiguration

Sets the key configuration.

micronaut.http.client.ssl.key-name

java.lang.String

Name 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 Netty Config Properties

🔗
Table 40. Configuration Properties for NettyGlobalConfiguration
Property Type Description

netty.resource-leak-detector-level

io.netty.util.ResourceLeakDetector$Level

Sets the resource leak detection level.

netty.default-thread-factory-reactor-non-blocking

boolean

Default 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-daemon

boolean

Default value: false.

netty.default-thread-factory-priority

int

Default value: false. Minimum value: {@value Thread.MIN_PRIORITY}, maximum value: {@value Thread.MAX_PRIORITY}

🔗
Table 41. Configuration Properties for DefaultEventLoopGroupConfiguration
Property Type Description

micronaut.netty.event-loops.*.num-threads

int

The number of threads

micronaut.netty.event-loops.*.thread-core-ratio

double

The number of threads per core to use if {@link #getNumThreads()} is set to 0.

micronaut.netty.event-loops.*.io-ratio

java.lang.Integer

The IO ratio (optional)

micronaut.netty.event-loops.*.prefer-native-transport

boolean

Whether native transport is to be preferred

micronaut.netty.event-loops.*.transport

java.util.List

The 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.*.executor

java.lang.String

A 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-period

java.time.Duration

The shutdown quiet period

micronaut.netty.event-loops.*.shutdown-timeout

java.time.Duration

The shutdown timeout (must be >= shutdownQuietPeriod)

micronaut.netty.event-loops.*.loom-carrier

boolean

When 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.

🔗
Table 42. Configuration Properties for LoomCarrierConfiguration
Property Type Description

micronaut.netty.loom-carrier.time-slice-latency

java.time.Duration

Time slice size in latency mode.

micronaut.netty.loom-carrier.time-slice-throughput

java.time.Duration

Time slice size in throughput mode.

micronaut.netty.loom-carrier.fifo-switch-time

java.time.Duration

Number of nanoseconds between switching between continuation FILO and FIFO modes.

micronaut.netty.loom-carrier.task-fifo-threshold

java.time.Duration

Oldest enqueued continuation must be this old before execution can switch to FIFO mode.

micronaut.netty.loom-carrier.block-time

java.time.Duration

Maximum blocking wait time.

micronaut.netty.loom-carrier.throughput-mode-threshold

int

Maximum number of queued tasks before entering throughput mode.

micronaut.netty.loom-carrier.work-spill-threshold

int

Maximum number of threads per event loop before work spilling should kick in.

micronaut.netty.loom-carrier.normal-warmup-tasks

int

Number of tasks that should run on the normal FJP to initialize e.g. the Poller before switching to the netty scheduler

Micronaut Http Server Config Properties

🔗
Table 43. Configuration Properties for HttpServerConfiguration$FileTypeHandlerConfiguration
Property Type Description

micronaut.server.responses.file.cache-seconds

int

Cache Seconds. Default value (60).

🔗
Table 44. Configuration Properties for HttpServerConfiguration$HttpLocaleResolutionConfigurationProperties
Property Type Description

micronaut.server.locale-resolution.fixed

java.util.Locale

Set 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-attribute

java.lang.String

Sets the key in the session to look for the locale.

micronaut.server.locale-resolution.default-locale

java.util.Locale

Sets 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-name

java.lang.String

Sets the name of the cookie that is used to store the locale.

micronaut.server.locale-resolution.header

boolean

Set to true if the locale should be resolved from the Accept-Language header. Default value (true).

🔗
Table 45. Configuration Properties for HttpServerConfiguration$HostResolutionConfiguration
Property Type Description

micronaut.server.host-resolution.host-header

java.lang.String

The host header name

micronaut.server.host-resolution.protocol-header

java.lang.String

The protocol header name

micronaut.server.host-resolution.port-header

java.lang.String

The port header name

micronaut.server.host-resolution.port-in-host

boolean

If the host header supports a port

micronaut.server.host-resolution.allowed-hosts

java.util.List

The list of hosts to validate the resolved host against.

🔗
Table 46. Configuration Properties for HttpServerConfiguration$CorsConfiguration
Property Type Description

micronaut.server.cors.enabled

boolean

Sets whether CORS is enabled. Default value (false)

micronaut.server.cors.localhost-pass-through

boolean

Sets 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.configurations

java.util.Map

Sets the CORS configurations.

micronaut.server.cors.single-header

boolean

Sets whether CORS header values should be joined into a single header. Default value (false).

🔗
Table 47. Configuration Properties for HttpServerConfiguration
Property Type Description

micronaut.server.http-version

HttpVersion

Sets the HTTP version to use. Defaults to {@link HttpVersion#HTTP_1_1}.

micronaut.server.thread-selection

ThreadSelection

Sets the ThreadSelection model to use for the server. Default value MANUAL.

micronaut.server.default-charset

java.nio.charset.Charset

The default charset to use

micronaut.server.port

int

Sets the port to bind to. Default value (-1)

micronaut.server.host

java.lang.String

Sets the host to bind to.

micronaut.server.read-timeout

java.lang.Integer

Sets the default read timeout.

micronaut.server.max-request-size

long

Sets the maximum request size. Default value (1024 * 1024 * 10L => // 10MB)

micronaut.server.max-request-buffer-size

long

Sets 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-timeout

java.time.Duration

Sets the amount of time a connection can remain idle without any reads occurring. Default value (5L minutes).

micronaut.server.write-idle-timeout

java.time.Duration

Sets the amount of time a connection can remain idle without any writes occurring. Default value (5L minutes).

micronaut.server.idle-timeout

java.time.Duration

Sets the idle time of connections for the server. Default value (5 minutes).

micronaut.server.server-header

java.lang.String

Sets the name of the server header.

micronaut.server.date-header

boolean

Sets whether a date header should be sent back. Default value (true).

micronaut.server.log-handled-exceptions

boolean

Sets whether exceptions handled by either an error route or exception handler should still be logged. Default value (false).

micronaut.server.client-address-header

java.lang.String

Which header stores the original client

micronaut.server.context-path

java.lang.String

Sets the context path for the web server.

micronaut.server.dual-protocol

boolean

if dual protocol has been enabled or not

micronaut.server.http-to-https-redirect

boolean

if redirection from HTTP to HTTPS is enabled or not

micronaut.server.dispatch-options-requests

boolean

Set to true to dispatch OPTIONS requests. Default value (false.

micronaut.server.validate-url

boolean

If the url should be validated by converting it to {@link java.net.URI}.

micronaut.server.escape-html-url

boolean

Browsers 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.

micronaut.server.not-found-on-missing-body

boolean

True if not-found should be returned on missing body. False to return an empty body.

micronaut.server.semicolon-is-normal-char

boolean

Sets whether the semicolon should be considered a normal character in the query. A "normal" semicolon is one that is not used as a parameter separator.

micronaut.server.max-params

int

🔗
Table 48. Configuration Properties for HttpServerConfiguration$MultipartConfiguration
Property Type Description

micronaut.server.multipart.location

java.io.File

Sets the location to store files.

micronaut.server.multipart.max-file-size

long

Sets the max file size. Default value (1024L * 1024 => 1MB).

micronaut.server.multipart.enabled

boolean

Sets whether multipart processing is enabled. Default value (false).

micronaut.server.multipart.disk

boolean

Sets whether to buffer data to disk or not. Default value (false).

micronaut.server.multipart.mixed

boolean

Sets whether to buffer data to disk if the size is greater than the threshold. Default value (false).

micronaut.server.multipart.threshold

long

Sets the amount of data that should be received that will trigger the data to be stored to disk. Default value (1024L * 1024 * 10).

🔗
Table 49. Configuration Properties for HttpServerConfiguration$FileTypeHandlerConfiguration$CacheControlConfiguration
Property Type Description

micronaut.server.responses.file.cache-control.public

boolean

Sets whether the cache control is public. Default value (false)

Micronaut Http Server Netty Config Properties

🔗
Table 50. Configuration Properties for NettyHttpServerConfiguration$AccessLogger
Property Type Description

micronaut.server.netty.access-logger.enabled

boolean

Enables or Disables the access logger.

micronaut.server.netty.access-logger.logger-name

java.lang.String

Sets the logger name to use. If not specified 'HTTP_ACCESS_LOGGER' will be used.

micronaut.server.netty.access-logger.log-format

java.lang.String

Sets the log format to use. When not specified, the Common Log Format (CLF) will be used.

micronaut.server.netty.access-logger.exclusions

java.util.List

Sets the URI patterns to be excluded from the access log.

🔗
Table 51. Configuration Properties for NettyHttpServerConfiguration$Worker
Property Type Description

micronaut.server.netty.worker.event-loop-group

java.lang.String

Sets the name to use.

micronaut.server.netty.worker.threads

int

Sets the number of threads for the event loop group.

micronaut.server.netty.worker.io-ratio

java.lang.Integer

Sets the I/O ratio.

micronaut.server.netty.worker.executor

java.lang.String

A 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-transport

boolean

Set whether to prefer the native transport if available

micronaut.server.netty.worker.shutdown-quiet-period

java.time.Duration

Set the shutdown quiet period

micronaut.server.netty.worker.shutdown-timeout

java.time.Duration

Set the shutdown timeout (must be >= shutdownQuietPeriod)

micronaut.server.netty.worker.thread-core-ratio

double

The number of threads per core to use if {@link #getNumThreads()} is set to 0.

micronaut.server.netty.worker.transport

java.util.List

The 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-carrier

boolean

When 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.

🔗
Table 52. Configuration Properties for NettyHttpServerConfiguration$Http2Settings
Property Type Description

micronaut.server.netty.http2.header-table-size

java.lang.Long

Sets the {@code SETTINGS_HEADER_TABLE_SIZE} value.

micronaut.server.netty.http2.push-enabled

java.lang.Boolean

Does nothing.

micronaut.server.netty.http2.max-concurrent-streams

java.lang.Long

Sets the {@code SETTINGS_MAX_CONCURRENT_STREAMS} value.

micronaut.server.netty.http2.initial-window-size

java.lang.Integer

Sets the {@code SETTINGS_INITIAL_WINDOW_SIZE} value.

micronaut.server.netty.http2.max-frame-size

java.lang.Integer

Sets the {@code SETTINGS_MAX_FRAME_SIZE} value.

micronaut.server.netty.http2.max-header-list-size

java.lang.Long

Sets the {@code SETTINGS_MAX_HEADER_LIST_SIZE} value.

🔗
Table 53. Configuration Properties for NettyHttpServerConfiguration$FileTypeHandlerConfiguration
Property Type Description

micronaut.server.netty.responses.file.cache-seconds

int

Cache Seconds. Default value (60).

🔗
Table 54. Configuration Properties for NettyHttpServerConfiguration$NettyListenerConfiguration
Property Type Description

micronaut.server.netty.listeners.*.family

NettyHttpServerConfiguration$NettyListenerConfiguration$Family

The address family of this listener.

micronaut.server.netty.listeners.*.ssl

boolean

Whether to enable SSL on this listener. Also requires ssl.SslConfiguration#isEnabled() to be set.

micronaut.server.netty.listeners.*.key-name

java.lang.String

Name 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-name

java.lang.String

Name 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.*.host

java.lang.String

For TCP listeners, the host to bind to, or {@code null} to bind to all hosts.

micronaut.server.netty.listeners.*.port

int

The TCP port to bind to. May be {@code -1} to bind to a random port.

micronaut.server.netty.listeners.*.path

java.lang.String

For 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-routes

boolean

Whether to expose default routes on this listener.

micronaut.server.netty.listeners.*.support-graceful-shutdown

boolean

If {@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.*.fd

java.lang.Integer

The fixed file descriptor for this listener, or {@code null} if a new file descriptor should be opened (the default).

micronaut.server.netty.listeners.*.bind

boolean

Whether 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-socket

boolean

Whether 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-fd

java.lang.Integer

An already accepted socket fd that should be registered to this listener.

🔗
Table 55. Configuration Properties for NettyHttpServerConfiguration$FileTypeHandlerConfiguration$CacheControlConfiguration
Property Type Description

micronaut.server.netty.responses.file.cache-control.public

boolean

Sets whether the cache control is public. Default value (false)

🔗
Table 56. Configuration Properties for NettyHttpServerConfiguration$Http3Settings
Property Type Description

micronaut.server.netty.http3.initial-max-data

int

QUIC initial_max_data setting, see RFC 9000.

micronaut.server.netty.http3.initial-max-stream-data-bidirectional-local

int

QUIC initial_max_stream_data_bidi_local setting, see RFC 9000.

micronaut.server.netty.http3.initial-max-stream-data-bidirectional-remote

int

QUIC initial_max_stream_data_bidi_remote setting, see RFC 9000.

micronaut.server.netty.http3.initial-max-streams-bidirectional

int

QUIC initial_max_streams_bidi setting, see RFC 9000.

🔗
Table 57. Configuration Properties for NettyHttpServerConfiguration$Parent
Property Type Description

micronaut.server.netty.parent.event-loop-group

java.lang.String

Sets the name to use.

micronaut.server.netty.parent.threads

int

Sets the number of threads for the event loop group.

micronaut.server.netty.parent.io-ratio

java.lang.Integer

Sets the I/O ratio.

micronaut.server.netty.parent.executor

java.lang.String

A 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-transport

boolean

Set whether to prefer the native transport if available

micronaut.server.netty.parent.shutdown-quiet-period

java.time.Duration

Set the shutdown quiet period

micronaut.server.netty.parent.shutdown-timeout

java.time.Duration

Set the shutdown timeout (must be >= shutdownQuietPeriod)

micronaut.server.netty.parent.thread-core-ratio

double

The number of threads per core to use if {@link #getNumThreads()} is set to 0.

micronaut.server.netty.parent.transport

java.util.List

The 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-carrier

boolean

When 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.

🔗
Table 58. Configuration Properties for NettyHttpServerConfiguration
Property Type Description

micronaut.server.netty.server-type

NettyHttpServerConfiguration$HttpServerType

Set the server type.

micronaut.server.netty.close-on-expectation-failed

boolean

If 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-protocol

java.lang.String

Sets the fallback protocol to use when negotiating via ALPN.

micronaut.server.netty.log-level

io.netty.handler.logging.LogLevel

Sets the Netty log level.

micronaut.server.netty.max-initial-line-length

int

Sets the maximum initial line length for the HTTP request. Default value (4096).

micronaut.server.netty.max-header-size

int

Sets the maximum size of any one header. Default value (8192).

micronaut.server.netty.max-chunk-size

int

Sets the maximum size of any single request chunk. Default value (8192).

micronaut.server.netty.max-h2c-upgrade-request-size

int

Sets 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-supported

boolean

Sets whether chunked transfer encoding is supported. Default value (true).

micronaut.server.netty.use-native-transport

boolean

Sets whether to use netty’s native transport (epoll or kqueue) if available . Default value (false).

micronaut.server.netty.validate-headers

boolean

Sets whether to validate incoming headers. Default value (true).

micronaut.server.netty.initial-buffer-size

int

Sets the initial buffer size. Default value (128).

micronaut.server.netty.compression-threshold

int

Sets the minimum size of a request body must be in order to be compressed. Default value (1024).

micronaut.server.netty.compression-level

int

Sets the compression level (0-9). Default value (6).

micronaut.server.netty.max-zstd-encode-size

int

Sets the maximum size of data that can be encoded using the zstd algorithm. Default value (1024 * 1024 * 32).

micronaut.server.netty.child-options

java.util.Map

Sets the Netty child worker options.

micronaut.server.netty.options

java.util.Map

Sets the channel options.

micronaut.server.netty.keep-alive-on-server-error

boolean

Whether to send connection keep alive on internal server errors. Default value ({@value DEFAULT_KEEP_ALIVE_ON_SERVER_ERROR}).

micronaut.server.netty.pcap-logging-path-pattern

java.lang.String

The 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.listeners

java.util.List

Set the explicit netty listener configurations, or {@code null} if they should be implicit.

micronaut.server.netty.eager-parsing

boolean

Parse incoming JSON data eagerly, before route binding. Default value {@value DEFAULT_EAGER_PARSING}.

micronaut.server.netty.json-buffer-max-components

int

Maximum number of buffers to keep around in JSON parsing before they should be consolidated. Defaults to 4096.

micronaut.server.netty.request-decompression-enabled

boolean

Enable 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-handlers

boolean

Prior 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 NettyServerCustomizers. <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-fields

int

The maximum number of form fields permitted in a request.

micronaut.server.netty.form-max-buffered-bytes

int

The maximum number of bytes the form / multipart decoders are allowed to buffer internally. This sets a limit on form field size.

Micronaut Jackson Databind Config Properties

🔗
Table 59. Configuration Properties for JacksonConfiguration
Property Type Description

jackson.bean-introspection-module

boolean

Whether the BeanIntrospection should be used for reflection free object serialialization/deserialialization.

jackson.module-scan

boolean

Sets whether to scan for modules or not (defaults to true).

jackson.serialization-inclusion

com.fasterxml.jackson.annotation.JsonInclude$Include

Sets the serialization inclusion mode.

jackson.default-typing

com.fasterxml.jackson.databind.ObjectMapper$DefaultTyping

Sets the global defaultTyping using for Polymorphic handling.

jackson.locale

java.util.Locale

Sets the locale to use.

jackson.time-zone

java.util.TimeZone

Sets the timezone to use.

jackson.date-format

java.lang.String

Sets the default date format to use.

jackson.array-size-threshold

int

Sets the array size threshold for data binding. Default value (100).

jackson.property-naming-strategy

com.fasterxml.jackson.databind.PropertyNamingStrategy

Sets the property naming strategy.

jackson.always-serialize-errors-as-list

boolean

Sets 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-strings

boolean

Whether 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

java.util.Map

Sets the serialization features to use.

jackson.deserialization

java.util.Map

Sets the deserialization features to use.

jackson.mapper

java.util.Map

Sets the object mapper features to use.

jackson.parser

java.util.Map

Sets the parser features to use.

jackson.generator

java.util.Map

Sets the generator features to use.

jackson.factory

java.util.Map

Sets the factory features to use.

Micronaut Management Config Properties

🔗
Table 60. Configuration Properties for EndpointDefaultConfiguration
Property Type Description

endpoints.all.path

java.lang.String

The endpoints base path. It must include a leading and trailing '/'. Default value ("/").

endpoints.all.context-path

java.lang.String

The endpoints context path. Default value is null.

endpoints.all.enabled

java.lang.Boolean

Sets whether the endpoint is enabled.

endpoints.all.sensitive

java.lang.Boolean

Sets whether the endpoint is sensitive.

endpoints.all.port

java.lang.Integer

Sets the port to expose endpoints via.

🔗
Table 61. Configuration Properties for DiscoveryClientHealthIndicatorConfiguration
Property Type Description

endpoints.health.discovery-client.enabled

boolean

If health indicator should be enabled. Default is true.

🔗
Table 62. Configuration Properties for EnvironmentEndpoint
Property Type Description

endpoints.env.active-keys

java.util.List

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

🔗
Table 63. Configuration Properties for LoggersEndpoint
Property Type Description

endpoints.loggers.write-sensitive

boolean

Determines whether modifications to the log level should require authentication. Default value (true).

🔗
Table 64. Configuration Properties for HealthEndpoint$StatusConfiguration
Property Type Description

endpoints.health.status.http-mapping

java.util.Map

Set how {@link HealthStatus} map to HttpStatus codes.

🔗
Table 65. Configuration Properties for EndpointConfiguration
Property Type Description

endpoints.*.enabled

java.lang.Boolean

Sets whether the endpoint is enabled.

endpoints.*.sensitive

java.lang.Boolean

Sets whether the endpoint is sensitive.

endpoints.*.path

java.lang.String

Endpoint’s path. If not set the endpoint name is used as the path.

🔗
Table 66. Configuration Properties for DiskSpaceIndicatorConfiguration
Property Type Description

endpoints.health.disk-space.enabled

boolean

Default value (true).

endpoints.health.disk-space.path

java.io.File

Default value (".").

endpoints.health.disk-space.threshold

long

Default value (1024L * 1024 * 10 => 10MB).

🔗
Table 67. Configuration Properties for HealthEndpoint
Property Type Description

endpoints.health.service-ready-indicator-enabled

boolean

Set whether the ServiceReadyHealthIndicator is enabled. Defaults to {@code true}.

endpoints.health.details-visible

DetailsVisibility

Sets the visibility policy for health information.

Micronaut Router Config Properties

🔗
Table 68. Configuration Properties for RoutesVersioningConfiguration
Property Type Description

micronaut.router.versioning.enabled

boolean

{@code true} if version based matches filtering is enabled.

micronaut.router.versioning.default-version

java.lang.String

Sets the version to use if the version cannot be resolved. Default value (null).

🔗
Table 69. Configuration Properties for ParameterVersionResolverConfiguration
Property Type Description

micronaut.router.versioning.parameter.names

java.util.List

Sets which parameter should be searched for a version.

micronaut.router.versioning.parameter.enabled

boolean

Sets whether parameter should be searched for a version.

🔗
Table 70. Configuration Properties for StaticResourceConfiguration
Property Type Description

micronaut.router.static-resources.*.enabled

boolean

Sets whether this specific mapping is enabled. Default value (true).

micronaut.router.static-resources.*.mapping

java.lang.String

The path resources should be served from. Uses ant path matching. Default value ("/**").

micronaut.router.static-resources.*.paths

java.util.List

A 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.

🔗
Table 71. Configuration Properties for HeaderVersionResolverConfiguration
Property Type Description

micronaut.router.versioning.header.names

java.util.List

Sets which headers should be searched for a version.

micronaut.router.versioning.header.enabled

boolean

Sets whether headers should be searched for a version.