diff --git a/docs/modules/ROOT/pages/binders.adoc b/docs/modules/ROOT/pages/binders.adoc index c4e135c65..27dae96c1 100644 --- a/docs/modules/ROOT/pages/binders.adoc +++ b/docs/modules/ROOT/pages/binders.adoc @@ -2,6 +2,7 @@ [[binders]] = Binder Implementations +:page-section-summary-toc: 1 The following binder implementations are available: diff --git a/docs/modules/ROOT/pages/kafka/kafka-streams.adoc b/docs/modules/ROOT/pages/kafka/kafka-streams.adoc index 8befe8a2f..0338bceaa 100644 --- a/docs/modules/ROOT/pages/kafka/kafka-streams.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka-streams.adoc @@ -1,4 +1,5 @@ [[kafka-streams-binder]] = Kafka Streams Binder +:page-section-summary-toc: 1 diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview.adoc index 2fbbd46dc..00ed476a6 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview.adoc @@ -7,4 +7,5 @@ In addition, this guide explains the Kafka Streams binding capabilities of Sprin [[apache-kafka-binder]] = Apache Kafka Binder +:page-section-summary-toc: 1 diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/admin-client-config-customization.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/admin-client-config-customization.adoc index 27e6e8181..f4fb3c7ba 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/admin-client-config-customization.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/admin-client-config-customization.adoc @@ -1,5 +1,6 @@ [[admin-client-config-customization]] = Customizing AdminClient Configuration +:page-section-summary-toc: 1 As with consumer and producer config customization above, applications can also customize the configuration for admin clients by providing an `AdminClientConfigCustomizer`. AdminClientConfigCustomizer's configure method provides access to the admin client properties, using which you can define further customization. diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/consumer-producer-config-customizer.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/consumer-producer-config-customizer.adoc index 412362d21..2e48486cc 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/consumer-producer-config-customizer.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/consumer-producer-config-customizer.adoc @@ -1,5 +1,6 @@ [[consumer-producer-config-customizer]] = Customizing Consumer and Producer configuration +:page-section-summary-toc: 1 If you want advanced customization of consumer and producer configuration that is used for creating `ConsumerFactory` and `ProducerFactory` in Kafka, you can implement the following customizers. diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/custom-binder-health-indicator.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/custom-binder-health-indicator.adoc index f30ea74f5..f8f8506d5 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/custom-binder-health-indicator.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/custom-binder-health-indicator.adoc @@ -1,5 +1,6 @@ [[custom-kafka-binder-health-indicator]] = Custom Kafka Binder Health Indicator +:page-section-summary-toc: 1 Kafka binder activates a default health indicator when Spring Boot actuator is on the classpath. This health indicator checks the health of the binder and any communication issues with the Kafka broker. diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/error-channels.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/error-channels.adoc index 96eebd50f..cfc6faa9d 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/error-channels.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/error-channels.adoc @@ -1,5 +1,6 @@ [[kafka-error-channels]] = Error Channels +:page-section-summary-toc: 1 Starting with version 1.3, the binder unconditionally sends exceptions to an error channel for each consumer destination and can also be configured to send async producer send failures to an error channel. See https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/current/reference/html/spring-cloud-stream.html#spring-cloud-stream-overview-error-handling[this section on error handling] for more information. diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/overview.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/overview.adoc index 1cc558d92..387bf5ad1 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/overview.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/overview.adoc @@ -1,5 +1,6 @@ [[overview]] = Overview +:page-section-summary-toc: 1 The following image shows a simplified diagram of how the Apache Kafka binder operates: diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/tombstones.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/tombstones.adoc index a677317f5..63b7cb7e3 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/tombstones.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/tombstones.adoc @@ -1,5 +1,6 @@ [[kafka-tombstones]] = Tombstone Records (null record values) +:page-section-summary-toc: 1 When using compacted topics, a record with a `null` value (also called a tombstone record) represents the deletion of a key. To receive such messages in a Spring Cloud Stream function, you can use the following strategy. diff --git a/docs/modules/ROOT/pages/kafka/kafka_overview/usage.adoc b/docs/modules/ROOT/pages/kafka/kafka_overview/usage.adoc index 32c182924..756799ac7 100644 --- a/docs/modules/ROOT/pages/kafka/kafka_overview/usage.adoc +++ b/docs/modules/ROOT/pages/kafka/kafka_overview/usage.adoc @@ -1,5 +1,6 @@ [[usage]] = Usage +:page-section-summary-toc: 1 To use Apache Kafka binder, you need to add `spring-cloud-stream-binder-kafka` as a dependency to your Spring Cloud Stream application, as shown in the following example for Maven: diff --git a/docs/modules/ROOT/pages/kafka/streams/accessing-metrics.adoc b/docs/modules/ROOT/pages/kafka/streams/accessing-metrics.adoc index 14e02acee..48f313020 100644 --- a/docs/modules/ROOT/pages/kafka/streams/accessing-metrics.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/accessing-metrics.adoc @@ -1,5 +1,6 @@ [[accessing-kafka-streams-metrics]] = Accessing Kafka Streams Metrics +:page-section-summary-toc: 1 Spring Cloud Stream Kafka Streams binder provides Kafka Streams metrics which can be exported through a Micrometer `MeterRegistry`. diff --git a/docs/modules/ROOT/pages/kafka/streams/manually-starting-processors.adoc b/docs/modules/ROOT/pages/kafka/streams/manually-starting-processors.adoc index a0406f57b..7ba74e3b4 100644 --- a/docs/modules/ROOT/pages/kafka/streams/manually-starting-processors.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/manually-starting-processors.adoc @@ -1,5 +1,6 @@ [[manually-starting-kafka-streams-processors]] = Manually starting Kafka Streams processors +:page-section-summary-toc: 1 Spring Cloud Stream Kafka Streams binder offers an abstraction called `StreamsBuilderFactoryManager` on top of the `StreamsBuilderFactoryBean` from Spring for Apache Kafka. This manager API is used for controlling the multiple `StreamsBuilderFactoryBean` per processor in a binder based application. diff --git a/docs/modules/ROOT/pages/kafka/streams/overview.adoc b/docs/modules/ROOT/pages/kafka/streams/overview.adoc index f7b8b73a9..f26e9fccc 100644 --- a/docs/modules/ROOT/pages/kafka/streams/overview.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/overview.adoc @@ -1,5 +1,6 @@ [[overview]] = Overview +:page-section-summary-toc: 1 Spring Cloud Stream includes a binder implementation designed explicitly for https://kafka.apache.org/documentation/streams/[Apache Kafka Streams] binding. With this native integration, a Spring Cloud Stream "processor" application can directly use the diff --git a/docs/modules/ROOT/pages/kafka/streams/state-cleanup.adoc b/docs/modules/ROOT/pages/kafka/streams/state-cleanup.adoc index 25fca8011..881ed416b 100644 --- a/docs/modules/ROOT/pages/kafka/streams/state-cleanup.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/state-cleanup.adoc @@ -1,5 +1,6 @@ [[state-cleanup]] = State Cleanup +:page-section-summary-toc: 1 By default, no local state is cleaned up when the binding is stopped. This is the same behavior effective from Spring Kafka version 2.7. diff --git a/docs/modules/ROOT/pages/kafka/streams/topology-visualization.adoc b/docs/modules/ROOT/pages/kafka/streams/topology-visualization.adoc index f127deb1b..059c3d7ab 100644 --- a/docs/modules/ROOT/pages/kafka/streams/topology-visualization.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/topology-visualization.adoc @@ -1,5 +1,6 @@ [[kafka-streams-topology-visualization]] = Kafka Streams topology visualization +:page-section-summary-toc: 1 Kafka Streams binder provides the following actuator endpoints for retrieving the topology description using which you can visualize the topology using external tools. diff --git a/docs/modules/ROOT/pages/kafka/streams/usage.adoc b/docs/modules/ROOT/pages/kafka/streams/usage.adoc index 33ca7549a..7c347e582 100644 --- a/docs/modules/ROOT/pages/kafka/streams/usage.adoc +++ b/docs/modules/ROOT/pages/kafka/streams/usage.adoc @@ -1,5 +1,6 @@ [[usage]] = Usage +:page-section-summary-toc: 1 For using the Kafka Streams binder, you just need to add it to your Spring Cloud Stream application, using the following maven coordinates: diff --git a/docs/modules/ROOT/pages/pulsar/spring-cloud-stream-binder-pulsar.adoc b/docs/modules/ROOT/pages/pulsar/spring-cloud-stream-binder-pulsar.adoc index 23abdf11d..d92490de0 100644 --- a/docs/modules/ROOT/pages/pulsar/spring-cloud-stream-binder-pulsar.adoc +++ b/docs/modules/ROOT/pages/pulsar/spring-cloud-stream-binder-pulsar.adoc @@ -3,6 +3,7 @@ [[spring-cloud-stream-binder-pulsar-reference]] = Spring Cloud Stream Pulsar Binder Reference Guide +:page-section-summary-toc: 1 Soby Chacko; Chris Bono; Alexander Preuß; Jay Bryant; Christophe Bornet :doctype: book :source-highlighter: prettify @@ -17,4 +18,5 @@ Soby Chacko; Chris Bono; Alexander Preuß; Jay Bryant; Christophe Bornet [[reference-guide]] = Reference Guide +:page-section-summary-toc: 1 diff --git a/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-listener-container-configuration.adoc b/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-listener-container-configuration.adoc index 0c5fecdc3..87a5ee94c 100644 --- a/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-listener-container-configuration.adoc +++ b/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-listener-container-configuration.adoc @@ -1,5 +1,6 @@ [[advanced-listener-container-configuration]] = Advanced Listener Container Configuration +:page-section-summary-toc: 1 To set listener container properties that are not exposed as binder or binding properties, add a single bean of type `ListenerContainerCustomizer` to the application context. The binder and binding properties will be set and then the customizer will be called. diff --git a/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-queue/exchange/binding-configuration.adoc b/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-queue/exchange/binding-configuration.adoc index 336c16df4..651b75728 100644 --- a/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-queue/exchange/binding-configuration.adoc +++ b/docs/modules/ROOT/pages/rabbit/rabbit_overview/advanced-queue/exchange/binding-configuration.adoc @@ -1,5 +1,6 @@ [[advanced-queue/exchange/binding-configuration]] = Advanced Queue/Exchange/Binding Configuration +:page-section-summary-toc: 1 From time to time, the RabbitMQ team add new features that are enabled by setting some argument when declaring, for example, a queue. Generally, such features are enabled in the binder by adding appropriate properties, but this may not be immediately available in a current version. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/binder-detection.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/binder-detection.adoc index 0eab20bcd..8c43838f1 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/binder-detection.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/binder-detection.adoc @@ -1,5 +1,6 @@ [[binder-detection]] = Binder Detection +:page-section-summary-toc: 1 Spring Cloud Stream relies on implementations of the Binder SPI to perform the task of connecting (binding) user code to message brokers. Each Binder implementation typically connects to one type of messaging system. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/consumer-groups.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/consumer-groups.adoc index 1c38545ed..09256edca 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/consumer-groups.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/consumer-groups.adoc @@ -1,5 +1,6 @@ [[consumer-groups]] = Consumer Groups +:page-section-summary-toc: 1 While the publish-subscribe model makes it easy to connect applications through shared topics, the ability to scale up by creating multiple instances of a given application is equally important. When doing so, different instances of an application are placed in a competing consumer relationship, where only one of the instances is expected to handle a given message. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/deploying-applications-on-cloudfoundry.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/deploying-applications-on-cloudfoundry.adoc index 9c99f1760..0eacad7de 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/deploying-applications-on-cloudfoundry.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/deploying-applications-on-cloudfoundry.adoc @@ -1,5 +1,6 @@ [[deploying-stream-applications-on-cloudfoundry]] = Deploying Stream Applications on CloudFoundry +:page-section-summary-toc: 1 On CloudFoundry, services are usually exposed through a special environment variable called https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-SERVICES[VCAP_SERVICES]. @@ -7,6 +8,7 @@ When configuring your binder connections, you can use the values from an environ [[binder-implementations]] = Binder Implementations +:page-section-summary-toc: 1 The following is the list of available binder implementations diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/destination-binders.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/destination-binders.adoc index 42a08bc82..5692e409c 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/destination-binders.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/destination-binders.adoc @@ -1,5 +1,6 @@ [[destination-binders]] = Destination Binders +:page-section-summary-toc: 1 Destination Binders are extension components of Spring Cloud Stream responsible for providing the necessary configuration and implementation to facilitate integration with external messaging systems. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/multiple-binders.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/multiple-binders.adoc index 19ec3d7a1..89d7b46ae 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/multiple-binders.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/multiple-binders.adoc @@ -1,5 +1,6 @@ [[multiple-binders]] = Multiple Binders on the Classpath +:page-section-summary-toc: 1 When multiple binders are present on the classpath, the application must indicate which binder is to be used for each destination binding. Each binder configuration contains a `META-INF/spring.binders` file, which is a simple properties file, as shown in the following example: diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/overview-application-model.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/overview-application-model.adoc index 1a3644246..4a22b2891 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/overview-application-model.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/overview-application-model.adoc @@ -1,5 +1,6 @@ [[spring-cloud-stream-overview-application-model]] = Application Model +:page-section-summary-toc: 1 A Spring Cloud Stream application consists of a middleware-neutral core. The application communicates with the outside world by establishing _bindings_ between destinations diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/overview-binder-abstraction.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/overview-binder-abstraction.adoc index 9884c89dd..322b92272 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/overview-binder-abstraction.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/overview-binder-abstraction.adoc @@ -1,5 +1,6 @@ [[spring-cloud-stream-overview-binder-abstraction]] = The Binder Abstraction +:page-section-summary-toc: 1 Spring Cloud Stream provides Binder implementations for https://github.com/spring-cloud/spring-cloud-stream-binder-kafka[Kafka] and https://github.com/spring-cloud/spring-cloud-stream-binder-rabbit[Rabbit MQ]. The framework also includes a test binder for integration testing of your applications as spring-cloud-stream application. See <> section for more details. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/overview-connecting-multiple-application-instances.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/overview-connecting-multiple-application-instances.adoc index 3b84026fb..7e62c722d 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/overview-connecting-multiple-application-instances.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/overview-connecting-multiple-application-instances.adoc @@ -1,5 +1,6 @@ [[spring-cloud-stream-overview-connecting-multiple-application-instances]] = Connecting Multiple Application Instances +:page-section-summary-toc: 1 While Spring Cloud Stream makes it easy for individual Spring Boot applications to connect to messaging systems, the typical scenario for Spring Cloud Stream is the creation of multi-application pipelines, where microservice applications send data to each other. You can achieve this scenario by correlating the input and output destinations of "`adjacent`" applications. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/overview-instance-index-instance-count.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/overview-instance-index-instance-count.adoc index 686735be5..3143e8c3f 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/overview-instance-index-instance-count.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/overview-instance-index-instance-count.adoc @@ -1,5 +1,6 @@ [[spring-cloud-stream-overview-instance-index-instance-count]] = Instance Index and Instance Count +:page-section-summary-toc: 1 When scaling up Spring Cloud Stream applications, each instance can receive information about how many other instances of the same application exist and what its own instance index is. Spring Cloud Stream does this through the `spring.cloud.stream.instanceCount` and `spring.cloud.stream.instanceIndex` properties. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/overview-persistent-publish-subscribe-support.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/overview-persistent-publish-subscribe-support.adoc index 2ba45b0fc..0de425016 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/overview-persistent-publish-subscribe-support.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/overview-persistent-publish-subscribe-support.adoc @@ -1,5 +1,6 @@ [[spring-cloud-stream-overview-persistent-publish-subscribe-support]] = Persistent Publish-Subscribe Support +:page-section-summary-toc: 1 Communication between applications follows a publish-subscribe model, where data is broadcast through shared topics. This can be seen in the following figure, which shows a typical deployment for a set of interacting Spring Cloud Stream applications. diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/producers-and-consumers.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/producers-and-consumers.adoc index b600d55cf..cf4d90465 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/producers-and-consumers.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/producers-and-consumers.adoc @@ -1,5 +1,6 @@ [[producers-and-consumers]] = Producers and Consumers +:page-section-summary-toc: 1 The following image shows the general relationship of producers and consumers: diff --git a/docs/modules/ROOT/pages/spring-cloud-stream/provided-messageconverters.adoc b/docs/modules/ROOT/pages/spring-cloud-stream/provided-messageconverters.adoc index 97b6a69af..b9c4d6420 100644 --- a/docs/modules/ROOT/pages/spring-cloud-stream/provided-messageconverters.adoc +++ b/docs/modules/ROOT/pages/spring-cloud-stream/provided-messageconverters.adoc @@ -1,5 +1,6 @@ [[provided-messageconverters]] = Provided MessageConverters +:page-section-summary-toc: 1 As mentioned earlier, the framework already provides a stack of `MessageConverters` to handle most common use cases. The following list describes the provided `MessageConverters`, in order of precedence (the first `MessageConverter` that works is used):