-
- All Superinterfaces:
SocketConfiguration
public interface ServerConfiguration extends SocketConfiguration
WebServer
configuration.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ServerConfiguration.Builder
Deprecated.since 2.0.0 - useWebServer.Builder
instead-
Nested classes/interfaces inherited from interface io.helidon.webserver.SocketConfiguration
SocketConfiguration.RequestedUriDiscoveryType, SocketConfiguration.SocketConfigurationBuilder<B extends SocketConfiguration.SocketConfigurationBuilder<B>>
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SOCKET_NAME
Deprecated.since 2.0.0, please useWebServer.DEFAULT_SOCKET_NAME
-
Fields inherited from interface io.helidon.webserver.SocketConfiguration
DEFAULT, DEFAULT_BACKLOG_SIZE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Deprecated Methods Modifier and Type Method Description int
backlog()
Returns a maximum length of the queue of incoming connections on the default server socket.InetAddress
bindAddress()
Returns local address where the server listens on with the default server socket.static ServerConfiguration.Builder
builder()
Deprecated.since 2.0.0 - please useWebServer.builder()
insteadstatic ServerConfiguration.Builder
builder(Config config)
Deprecated.since 2.0.0 - please useWebServer.builder()
, thenWebServer.Builder.config(io.helidon.config.Config)
, orWebServer.create(Routing, io.helidon.config.Config)
Context
context()
The top levelContext
to be used by this webserver.static ServerConfiguration
create(Config config)
Creates new instance with defaults from external configuration source.ExperimentalConfiguration
experimental()
Returns anExperimentalConfiguration
.default boolean
isHttp2Enabled()
Checks if HTTP/2 is enabled in config.default Duration
maxShutdownTimeout()
The maximum amount of time that the server will wait to shut down regardless of the value of any additionally requested quiet period.default Optional<SocketConfiguration>
namedSocket(String name)
A socket configuration of an additional named server socket.int
port()
Returns a server port to listen on with the default server socket.boolean
printFeatureDetails()
Whether to print details ofHelidonFeatures
.int
receiveBufferSize()
Returns proposed value of the TCP receive window that is advertised to the remote peer on the default server socket.default Duration
shutdownQuietPeriod()
The quiet period during which the webserver will wait for new incoming connections after it has been told to shut down.default SocketConfiguration
socket(String name)
Deprecated.since 2.0.0, please usenamedSocket(String)
insteadMap<String,SocketConfiguration>
sockets()
A map of all the configured server sockets; that is the default server socket which is identified by the keyDEFAULT_SOCKET_NAME
and also all the additional named server socket configurations.SSLContext
ssl()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()
instead.int
timeoutMillis()
Returns a default server socket timeout in milliseconds or0
for an infinite timeout.Tracer
tracer()
Returns an opentracing.io tracer.default Optional<Transport>
transport()
Returns an optionalTransport
.int
workersCount()
Returns the count of threads in the pool used to process HTTP requests.-
Methods inherited from interface io.helidon.webserver.SocketConfiguration
allowedCipherSuite, backpressureBufferSize, backpressureStrategy, clientAuth, connectionIdleTimeout, continueImmediately, enableCompression, enabled, enabledSslProtocols, initialBufferSize, maxChunkSize, maxHeaderSize, maxInitialLineLength, maxPayloadSize, name, requestedUriDiscoveryEnabled, requestedUriDiscoveryTypes, tls, trustedProxies, validateHeaders
-
-
-
-
Field Detail
-
DEFAULT_SOCKET_NAME
@Deprecated static final String DEFAULT_SOCKET_NAME
Deprecated.since 2.0.0, please useWebServer.DEFAULT_SOCKET_NAME
The default server socket configuration name. All the default server socket configuration (e.g.,port()
orbacklog()
) is accessible throughsocket(String)
orsockets()
with thisdefault socket name
.- See Also:
- Constant Field Values
-
-
Method Detail
-
workersCount
int workersCount()
Returns the count of threads in the pool used to process HTTP requests.Default value is
Runtime.availableProcessors()
.- Returns:
- a workers count
-
port
int port()
Returns a server port to listen on with the default server socket. If port is0
then any available ephemeral port will be used.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
port
in interfaceSocketConfiguration
- Returns:
- the server port of the default server socket
-
bindAddress
InetAddress bindAddress()
Returns local address where the server listens on with the default server socket. Ifnull
then listens an all local addresses.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
bindAddress
in interfaceSocketConfiguration
- Returns:
- an address to bind with the default server socket;
null
for all local addresses
-
backlog
int backlog()
Returns a maximum length of the queue of incoming connections on the default server socket.Default value is
SocketConfiguration.DEFAULT_BACKLOG_SIZE
.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
backlog
in interfaceSocketConfiguration
- Returns:
- a maximum length of the queue of incoming connections
-
timeoutMillis
int timeoutMillis()
Returns a default server socket timeout in milliseconds or0
for an infinite timeout.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
timeoutMillis
in interfaceSocketConfiguration
- Returns:
- a default server socket timeout in milliseconds or
0
-
receiveBufferSize
int receiveBufferSize()
Returns proposed value of the TCP receive window that is advertised to the remote peer on the default server socket.If
0
then use implementation default.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
receiveBufferSize
in interfaceSocketConfiguration
- Returns:
- a buffer size in bytes of the default server socket or
0
-
ssl
@Deprecated(since="2.3.1", forRemoval=true) SSLContext ssl()
Deprecated, for removal: This API element is subject to removal in a future version.usetls().sslContext()
instead. This method will be removed at 3.0.0 version.Returns aSSLContext
to use with the default server socket. If notnull
then the server enforces an SSL communication.Additional named server socket configuration is accessible through the
socket(String)
andsockets()
methods.- Specified by:
ssl
in interfaceSocketConfiguration
- Returns:
- a SSL context to use
-
socket
@Deprecated default SocketConfiguration socket(String name)
Deprecated.since 2.0.0, please usenamedSocket(String)
insteadA socket configuration of an additional named server socket.An additional named server socket may have a dedicated
Routing
configured throughWebServer.Builder.addNamedRouting(String, Routing)
.- Parameters:
name
- the name of the additional server socket- Returns:
- an additional named server socket configuration or
null
if there is no such named server socket
-
namedSocket
default Optional<SocketConfiguration> namedSocket(String name)
A socket configuration of an additional named server socket.An additional named server socket may have a dedicated
Routing
configured throughWebServer.Builder.addNamedRouting(String, Routing)
.- Parameters:
name
- the name of the additional server socket- Returns:
- an additional named server socket configuration or
empty
if there is no such named server socket configured
-
sockets
Map<String,SocketConfiguration> sockets()
A map of all the configured server sockets; that is the default server socket which is identified by the keyDEFAULT_SOCKET_NAME
and also all the additional named server socket configurations.An additional named server socket may have a dedicated
Routing
configured throughWebServer.Builder.addNamedRouting(String, Routing)
.- Returns:
- a map of all the configured server sockets, never null
-
maxShutdownTimeout
default Duration maxShutdownTimeout()
The maximum amount of time that the server will wait to shut down regardless of the value of any additionally requested quiet period.The default implementation of this method returns
Duration.ofSeconds(10L)
.- Returns:
- the
Duration
to use
-
shutdownQuietPeriod
default Duration shutdownQuietPeriod()
The quiet period during which the webserver will wait for new incoming connections after it has been told to shut down.The webserver will wait no longer than the duration returned by the
maxShutdownTimeout()
method.The default implementation of this method returns
Duration.ofSeconds(0L)
, indicating that there will be no quiet period.- Returns:
- the
Duration
to use
-
tracer
Tracer tracer()
Returns an opentracing.io tracer. Default isGlobalTracer
.- Returns:
- a tracer to use - never
null
(defaulting toGlobalTracer
-
context
Context context()
The top levelContext
to be used by this webserver.- Returns:
- a context instance with registered application scoped instances
-
experimental
ExperimentalConfiguration experimental()
Returns anExperimentalConfiguration
.- Returns:
- Experimental configuration.
-
transport
default Optional<Transport> transport()
Returns an optionalTransport
.- Returns:
- an optional
Transport
-
printFeatureDetails
boolean printFeatureDetails()
Whether to print details ofHelidonFeatures
.- Returns:
- whether to print details
-
isHttp2Enabled
default boolean isHttp2Enabled()
Checks if HTTP/2 is enabled in config.- Returns:
- Outcome of test.
-
create
static ServerConfiguration create(Config config)
Creates new instance with defaults from external configuration source.- Parameters:
config
- the externalized configuration- Returns:
- a new instance
-
builder
@Deprecated static ServerConfiguration.Builder builder()
Deprecated.since 2.0.0 - please useWebServer.builder()
insteadCreates new instance of aserver configuration builder
.- Returns:
- a new builder instance
-
builder
@Deprecated static ServerConfiguration.Builder builder(Config config)
Deprecated.since 2.0.0 - please useWebServer.builder()
, thenWebServer.Builder.config(io.helidon.config.Config)
, orWebServer.create(Routing, io.helidon.config.Config)
Creates new instance of aserver configuration builder
with defaults from external configuration source.- Parameters:
config
- the externalized configuration- Returns:
- a new builder instance
-
-