diff --git a/framework-docs/antora.yml b/framework-docs/antora.yml index 8cc3641a0d..77c8360b98 100644 --- a/framework-docs/antora.yml +++ b/framework-docs/antora.yml @@ -72,6 +72,8 @@ asciidoc: kotlin-coroutines-api: '{kotlin-site}/api/kotlinx.coroutines' kotlin-github-org: 'https://github.com/Kotlin' kotlin-issues: 'https://youtrack.jetbrains.com/issue' + micrometer-docs: 'https://docs.micrometer.io/micrometer/reference' + micrometer-context-propagation-docs: 'https://docs.micrometer.io/context-propagation/reference' reactive-streams-site: 'https://www.reactive-streams.org' reactive-streams-spec: 'https://github.com/reactive-streams/reactive-streams-jvm/blob/master/README.md#specification' reactor-github-org: 'https://github.com/reactor' @@ -89,4 +91,5 @@ asciidoc: stackoverflow-questions: '{stackoverflow-site}/questions' stackoverflow-spring-tag: "{stackoverflow-questions}/tagged/spring" stackoverflow-spring-kotlin-tags: "{stackoverflow-spring-tag}+kotlin" - testcontainers-site: 'https://www.testcontainers.org' \ No newline at end of file + testcontainers-site: 'https://www.testcontainers.org' + vavr-docs: 'https://vavr-io.github.io/vavr-docs' \ No newline at end of file diff --git a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-dependson.adoc b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-dependson.adoc index 17e5e98246..bbc4c0ef20 100644 --- a/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-dependson.adoc +++ b/framework-docs/modules/ROOT/pages/core/beans/dependencies/factory-dependson.adoc @@ -2,13 +2,14 @@ = Using `depends-on` If a bean is a dependency of another bean, that usually means that one bean is set as a -property of another. Typically you accomplish this with the <` -element>> in XML-based configuration metadata. However, sometimes dependencies between -beans are less direct. An example is when a static initializer in a class needs to be -triggered, such as for database driver registration. The `depends-on` attribute can -explicitly force one or more beans to be initialized before the bean using this element -is initialized. The following example uses the `depends-on` attribute to express a -dependency on a single bean: +property of another. Typically you accomplish this with the +xref:core/beans/dependencies/factory-properties-detailed.adoc#beans-ref-element[`` element>] +in XML-based configuration metadata. However, sometimes dependencies between beans are +less direct. An example is when a static initializer in a class needs to be triggered, +such as for database driver registration. The `depends-on` attribute can explicitly force +one or more beans to be initialized before the bean using this element is initialized. +The following example uses the `depends-on` attribute to express a dependency on a single +bean: [source,xml,indent=0,subs="verbatim,quotes"] ---- diff --git a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc index 355365fb27..2dc529e919 100644 --- a/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc +++ b/framework-docs/modules/ROOT/pages/data-access/transaction/declarative/rolling-back.adoc @@ -23,7 +23,7 @@ The default configuration also provides support for Vavr's `Try` method to trigg transaction rollbacks when it returns a 'Failure'. This allows you to handle functional-style errors using Try and have the transaction automatically rolled back in case of a failure. For more information on Vavr's Try, -refer to the https://docs.vavr.io/#_try[official Vavr documentation]. +refer to the {vavr-docs}/#_try[official Vavr documentation]. Here's an example of how to use Vavr's Try with a transactional method: [tabs] diff --git a/framework-docs/modules/ROOT/pages/integration/observability.adoc b/framework-docs/modules/ROOT/pages/integration/observability.adoc index 64e5f230dd..28fe88fdbc 100644 --- a/framework-docs/modules/ROOT/pages/integration/observability.adoc +++ b/framework-docs/modules/ROOT/pages/integration/observability.adoc @@ -1,7 +1,7 @@ [[observability]] = Observability Support -Micrometer defines an https://micrometer.io/docs/observation[Observation concept that enables both Metrics and Traces] in applications. +Micrometer defines an {micrometer-docs}/observation.html[Observation concept that enables both Metrics and Traces] in applications. Metrics support offers a way to create timers, gauges, or counters for collecting statistics about the runtime behavior of your application. Metrics can help you to track error rates, usage patterns, performance, and more. Traces provide a holistic view of an entire system, crossing application boundaries; you can zoom in on particular user requests and follow their entire completion across applications. @@ -38,7 +38,7 @@ As outlined xref:integration/observability.adoc[at the beginning of this section |=== NOTE: Observations are using Micrometer's official naming convention, but Metrics names will be automatically converted -https://micrometer.io/docs/concepts#_naming_meters[to the format preferred by the monitoring system backend] +{micrometer-docs}/concepts/naming.html[to the format preferred by the monitoring system backend] (Prometheus, Atlas, Graphite, InfluxDB...). @@ -368,7 +368,7 @@ This means that during the execution of that task, the ThreadLocals and logging If the application globally configures a custom `ApplicationEventMulticaster` with a strategy that schedules event processing on different threads, this is no longer true. All `@EventListener` methods will be processed on a different thread, outside the main event publication thread. -In these cases, the https://micrometer.io/docs/contextPropagation[Micrometer Context Propagation library] can help propagate such values and better correlate the processing of the events. +In these cases, the {micrometer-context-propagation-docs}/[Micrometer Context Propagation library] can help propagate such values and better correlate the processing of the events. The application can configure the chosen `TaskExecutor` to use a `ContextPropagatingTaskDecorator` that decorates tasks and propagates context. For this to work, the `io.micrometer:context-propagation` library must be present on the classpath: diff --git a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc index cab7cdae7f..3fde9a1f95 100644 --- a/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc +++ b/framework-docs/modules/ROOT/pages/web/webmvc/mvc-ann-async.adoc @@ -452,9 +452,8 @@ The following `ThreadLocalAccessor` implementations are provided out of the box: The above are not registered automatically. You need to register them via `ContextRegistry.getInstance()` on startup. -For more details, see the -https://micrometer.io/docs/contextPropagation[documentation] of the Micrometer Context -Propagation library. +For more details, see the {micrometer-context-propagation-docs}/[documentation] of the +Micrometer Context Propagation library.