io.helidon.webserver.WebServer

Description

WebServer configuration bean

Configuration options

KeyTypeDefaultDescription
restore-response-headersBooleantrueCopy and restore response headers before and after passing a request to Jersey for processing
bindingsMap<String, TransportBindingFactory>Transport bindings that serve this listener are configured as one object keyed by binding type; list form and nested name or type are invalid, and built-in TCP remains enabled unless bindings.tcp.enabled=false
concurrency-limitMap<String, Limit> or List<Limit>Concurrency limit to use to limit concurrent execution of incoming requests
content-encodingContentEncodingContextConfigure the listener specific io.helidon.http.encoding.ContentEncodingContext
media-contextMediaContextConfigure the listener specific io.helidon.http.media.MediaContext
max-connectionsInteger-1Limits listener-wide connection admission shared by all connection-oriented bindings
bindings-discover-servicesBooleantrueWhether to enable automatic service discovery for bindings
max-payload-sizeLong-1Maximal number of bytes an entity may have
featuresMap<String, ServerFeature> or List<ServerFeature>Server features allow customization of the server, listeners, or routings
use-nioBooleantrueWhether to use an NIO socket channel instead of a socket; Unix domain socket bindings always use NIO and ignore this setting, while listener TLS virtual hosts require it to be true
protocols-discover-servicesBooleantrueWhether to enable automatic service discovery for protocols
hostString0.0.0.0Host of the default socket
virtual-hostsList<VirtualHostConfig>Listener TLS virtual hosts selected by SNI; requires listener TLS and NIO socket-channel transport (use-nio=true)
write-queue-lengthInteger0Number of buffers queued for write operations
socketsMap<String, ListenerConfig>Socket configurations
protocolsMap<String, ProtocolConfig> or List<ProtocolConfig>Configuration of protocols
bind-addressListenerCustomMethodsThe TCP address to bind to (<host>:<port>); Unix domain addresses are rejected and must instead use bindings.uds.socket
idle-connection-timeoutDurationPT5MHow long should we wait before closing a connection that has no traffic on it
shutdown-grace-periodDurationPT0.5SGrace period in ISO 8601 duration format to allow running tasks to complete before listener's shutdown
max-concurrent-requestsInteger-1Limits the number of requests that can be executed at the same time (the number of active virtual threads of requests)
features-discover-servicesBooleantrueWhether to enable automatic service discovery for features
shutdown-hookBooleantrueWhen true the webserver registers a shutdown hook with the JVM Runtime
sniSniConfigListener-scoped server TLS SNI policy
error-handlingErrorHandlingConfiguration for this listener's error handling
concurrency-limit-discover-servicesBooleanfalseWhether to enable automatic service discovery for concurrency-limit
backlogInteger1024Accept backlog
max-in-memory-entityInteger131072If the entity is expected to be smaller that this number of bytes, it would be buffered in memory to optimize performance when writing it
proxy-protocolProxyProtocolConfigPROXY protocol configuration
ignore-invalid-named-routingBooleanIf set to true, any named routing configured that does not have an associated named listener will NOT cause an exception to be thrown (default behavior is to throw an exception)
smart-async-writesBooleanfalseIf enabled and #writeQueueLength() is greater than 1, then start with async writes but possibly switch to sync writes if async queue size is always below a certain threshold
connection-optionsSocketOptionsOptions for connections accepted by this listener
portInteger0Port of the default socket
requested-uri-discoveryRequestedUriDiscoveryContextRequested URI discovery context
idle-connection-periodDurationPT2MHow often should we check for #idleConnectionTimeout()
nameString@defaultName of this socket
tlsTlsListener TLS configuration
write-buffer-sizeInteger4096Initial buffer size in bytes of java.io.BufferedOutputStream created internally to write data to a socket connection

Deprecated Options

KeyTypeDefaultDescription
enable-proxy-protocolBooleanfalseDeprecated PROXY protocol enablement flag for this socket
max-tcp-connectionsInteger-1Limits listener-wide connection admission shared by all connection-oriented bindings

Usages


See the manifest for all available types.

Copyright © 2018, 2026 Oracle and/or its affiliates.