diff --git a/docs/mp/config/advanced-configuration.adoc b/docs/mp/config/advanced-configuration.adoc index bb2d8a4f389..2479d649c6d 100644 --- a/docs/mp/config/advanced-configuration.adoc +++ b/docs/mp/config/advanced-configuration.adoc @@ -26,12 +26,12 @@ include::{rootdir}/includes/mp.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> +- <> == Creating MicroProfile Config Sources for Manual Setup of Config diff --git a/docs/mp/config/introduction.adoc b/docs/mp/config/introduction.adoc index f5f3387129f..a4df4191d6a 100644 --- a/docs/mp/config/introduction.adoc +++ b/docs/mp/config/introduction.adoc @@ -30,12 +30,11 @@ include::{rootdir}/includes/mp.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> == Overview @@ -230,7 +229,7 @@ Current properties may be set in `application.yaml` or in `microprofile-config.p See xref:#Config-Profiles[Config Profiles] for more information. -== Guides +== Additional Information [PILLARS] ==== diff --git a/docs/se/config/advanced-configuration.adoc b/docs/se/config/advanced-configuration.adoc index 7758ab397fe..e8f832f6486 100644 --- a/docs/se/config/advanced-configuration.adoc +++ b/docs/se/config/advanced-configuration.adoc @@ -30,7 +30,7 @@ include::{rootdir}/includes/se.adoc[] - <> - <> - <> -- <> +- <> - <> == Overview @@ -532,7 +532,7 @@ that might be in the node's name, in this example in `oracle.com`. <6> The config node `"oracle.com"` has type `OBJECT`... <7> ...and name `"oracle.com"`. -== Filter, Overrides, and Token Substitution [[filters-and-overrides]] +== Filters, Overrides, and Token Substitution [[filters-and-overrides]] When your application retrieves a config value, the config system can transform it before returning the value, according to _filters_, _overrides_, and _tokens_. The config system provides some built-in instances of these diff --git a/docs/se/config/config-profiles.adoc b/docs/se/config/config-profiles.adoc index 3e3fe57ef90..a6046457f4f 100644 --- a/docs/se/config/config-profiles.adoc +++ b/docs/se/config/config-profiles.adoc @@ -27,7 +27,7 @@ include::{rootdir}/includes/se.adoc[] == Contents - <> -- <> +- <> - <> - <> @@ -37,7 +37,7 @@ Configuration profiles provide a capability to prepare structure of configuratio environment in advance, and then simply switch between these structures using a system property or an environment variable. -== Profile options +== Profile Options To choose a configuration profile to use at runtime, you can use: 1. A system property `config.profile` diff --git a/docs/se/config/extensions.adoc b/docs/se/config/extensions.adoc index 524ca38be54..4130f8acc7d 100644 --- a/docs/se/config/extensions.adoc +++ b/docs/se/config/extensions.adoc @@ -26,16 +26,15 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> +- <> +- <> +- <> +- <> == Overview @@ -47,7 +46,7 @@ to Java types, fine-tune the look-up of config data, and reload and reprocess data when it changes. _Config extensions_ provided by the application modify and expand the way the config system performs these steps. -== Introduction + Each config extension implements one of the interfaces defined in the Configuration SPI: //Once our asciidoc processing handles labeled lists, uncomment the following @@ -90,14 +89,14 @@ Service providers: The config system itself implements several of these SPIs, as noted in the sections below. -== Setting up an extension +== Configuring an Extension You can configure a custom extension in two ways: 1. Manual configuration with builder 2. Automatic configuration using a Java service loader -=== Manual configuration with builder +=== Manual Configuration with Builder The following example shows configuration of all possible extensions with `Config` (all custom extension have a name prefix `My`): @@ -115,7 +114,7 @@ Config config = Config.builder() .build() ---- -=== Automatic configuration using a service loader +=== Automatic Configuration Using a Service Loader The following extensions are loaded using a service loader for any configuration instance, and do not require an explicit setup: @@ -369,9 +368,9 @@ module my.module { } ---- -== Change support SPI [[Config-SPI-PollingStrategy]] +== Change Support SPI [[Config-SPI-PollingStrategy]] -Once it loads a `Config` tree from ``ConfigSource``s the config system does not itself change the in-memory `Config` +Once it loads a `Config` tree from ``ConfigSource``, the config system does not itself change the in-memory `Config` tree. Even so, the underlying data available via the tree's ``ConfigSource``s can change. Implementations of link:{config-javadoc-base-url}/io/helidon/config/spi/PollingStrategy.html[`PollingStrategy`] may trigger regular check whether a source has new data. diff --git a/docs/se/config/hierarchical-features.adoc b/docs/se/config/hierarchical-features.adoc index 7d6f5d9f5d6..396bd35acc9 100644 --- a/docs/se/config/hierarchical-features.adoc +++ b/docs/se/config/hierarchical-features.adoc @@ -27,13 +27,14 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> +- <> +- <> + == Overview diff --git a/docs/se/config/introduction.adoc b/docs/se/config/introduction.adoc index cdf14253b69..42a1a417643 100644 --- a/docs/se/config/introduction.adoc +++ b/docs/se/config/introduction.adoc @@ -27,12 +27,12 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> +- <> == Overview @@ -51,7 +51,7 @@ include::{rootdir}/includes/dependencies.adoc[] ---- -== Getting Started +== Usage A brief overview of the config system helps clarify its different parts and how they work together. Most applications will typically deal with more than one of these parts. image::config/overview.png["Configuration Overview",align="center"] @@ -95,9 +95,8 @@ You can extend the system with custom parsers of your own. Implement the link:{c See the xref:advanced-configuration.adoc#_advanced_config_parsers[advanced topics'] page for further information on some more involved aspects of config parsers. -== Usage -=== Default Configuration +== Configuration Helidon has an internal configuration, so you are not required to provide any configuration data for your application, though in practice you most likely would. @@ -305,7 +304,7 @@ to handle other types of sources by implementing the link:{config-javadoc-base-url}/io/helidon/config/spi/ConfigSource.html[`ConfigSource`] interface. See the xref:extensions.adoc[extensions'] documentation for complete information. -== Guides +== Reference [PILLARS] ==== diff --git a/docs/se/config/mutability-support.adoc b/docs/se/config/mutability-support.adoc index 84f0dd0c015..286e8b866f5 100644 --- a/docs/se/config/mutability-support.adoc +++ b/docs/se/config/mutability-support.adoc @@ -26,10 +26,10 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> == Overview An in-memory config tree, once loaded, is immutable, even though the data in the underlying diff --git a/docs/se/config/property-mapping.adoc b/docs/se/config/property-mapping.adoc index 259133275d4..270f24de988 100644 --- a/docs/se/config/property-mapping.adoc +++ b/docs/se/config/property-mapping.adoc @@ -26,11 +26,11 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> -- <> -- <> +- <> +- <> +- <> +- <> +- <> == Overview diff --git a/docs/se/config/supported-formats.adoc b/docs/se/config/supported-formats.adoc index 8b7d723c5f0..0191f411c91 100644 --- a/docs/se/config/supported-formats.adoc +++ b/docs/se/config/supported-formats.adoc @@ -26,9 +26,9 @@ include::{rootdir}/includes/se.adoc[] == Contents -- <> -- <> -- <> +- <> +- <> +- <> == Overview Helidon Config provides several extension modules that support other configuration diff --git a/docs/se/dbclient.adoc b/docs/se/dbclient.adoc index a402cfa2ab9..fa89864afa1 100644 --- a/docs/se/dbclient.adoc +++ b/docs/se/dbclient.adoc @@ -24,6 +24,16 @@ include::{rootdir}/includes/se.adoc[] +== Contents + +- <> +- <> +- <> +- <> +- <> +- <> + +== Overview The Helidon SE DB Client provides a unified, reactive API for working with databases in non-blocking way. include::{rootdir}/includes/dependencies.adoc[] @@ -54,12 +64,12 @@ Or to use with MongoDB client add the following dependency: ---- -== Helidon DB Client Features Overview +== Usage The DB Client simplifies how you work with databases by abstracting the type of the database. The API can be used both for relational and non-relational databases. -The API provides: +== API * Database configuration abstraction + @@ -89,7 +99,7 @@ for backpressure (result set is processed as requested by the query subscriber) The API offers support for health checks, metrics and tracing. -== Getting Started +== Configuration Before you begin you must add the DB Client dependencies and configure the client. @@ -292,7 +302,7 @@ Execution of a query statement will always return `Multi>`. `Multi` has s * `Single> collectList()` to collect all rows and return them as a promise of `List` * ` Multi map(…)` to map returned result using provided mapper -== Next Steps +== Additional Information Now that you understand how to build and execute statements, try it for yourself. link:{helidon-github-tree-url}/examples/dbclient[DB Client Examples]. diff --git a/docs/se/webserver.adoc b/docs/se/webserver.adoc index 9d8dfe0f523..43df966d970 100644 --- a/docs/se/webserver.adoc +++ b/docs/se/webserver.adoc @@ -28,22 +28,11 @@ include::{rootdir}/includes/se.adoc[] - <> - <> +- <> - <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> -- <> - <> +- <> + == Overview @@ -60,11 +49,14 @@ include::{rootdir}/includes/dependencies.adoc[] ---- +== Usage +The following sections describe how to use WebServer. + == Configuration Configure the WebServer either programmatically, or by the Helidon configuration framework. -=== Configuring the WebServer in your code +=== Configuring the WebServer in Your Code The easiest way to configure the WebServer is in your application code. @@ -102,7 +94,7 @@ WebServer webServer = WebServer.create(routing, config.get("server")); // <2> just use `Config.create()` <2> Server expects the configuration tree located on the node of `server` -=== Configuration options +=== Configuration Options include::{rootdir}/config/io_helidon_webserver_WebServer.adoc[leveloffset=+2,tag=config] @@ -316,7 +308,7 @@ on routing builder. ---- While `Http1Route` for Http/1 is always available with Helidon webserver, -other routes like `Http2Route` for <> needs to be added as additional dependency. +other routes like `Http2Route` for <> needs to be added as additional dependency. == Error Handling @@ -395,11 +387,11 @@ exception called `req.next()`, then the exception is translated to an HTTP respo * Otherwise, the exceptions are translated to an Internal Server Error HTTP error code `500`. -== Http/2 Support +== HTTP/2 Support -Helidon supports Http/2 upgrade from Http/1, Http/2 without prior knowledge -and Http/2 with ALPN over TLS. -Http/2 support is enabled in webserver by default when it's artefact is available on classpath. +Helidon supports HTTP/2 upgrade from HTTP/1, HTTP/2 without prior knowledge +and HTTP/2 with ALPN over TLS. +HTTP/2 support is enabled in webserver by default when it's artifact is available on classpath. === Maven Coordinates To enable Http/2 support add the following dependency to your project's `pom.xml`. @@ -851,7 +843,7 @@ server: All options shown above are also available programmatically when using builder. -=== Configuration options +=== Configuration Options The following configuration options can be defined: @@ -967,7 +959,7 @@ io.helidon.webserver.AccessLog.useParentHandlers=false io.helidon.webserver.AccessLog.handlers=io.helidon.webserver.accesslog.AccessLogHandler ---- -== TLS configuration +== TLS Configuration Configure TLS either programmatically, or by the Helidon configuration framework. @@ -1118,7 +1110,7 @@ For example, if the request includes `Accept-Encoding: gzip, deflate`, and HTTP has been enabled as shown above, the response shall include the header `Content-Encoding: gzip` and a compressed payload. -== Quick Start +== Additional Information Here is the code for a minimalist web application that runs on a random free port: