Spring Cloud Stream Reference Documentation.hidden { display: none;
} .switch { border-width: 1px 1px 0 1px; border-style: solid; border-color: #7a2518; display: inline-block;
} .switch--item { padding: 10px; background-color: #ffffff; color: #7a2518; display: inline-block; cursor: pointer;
} .switch--item:not(:first-child) { border-width: 0 0 0 1px; border-style: solid; border-color: #7a2518;
} .switch--item.selected { background-color: #7a2519; color: #ffffff;
} function addBlockSwitches() { for (var primary of document.querySelectorAll('.primary')) { var switchItem = createSwitchItem(primary, createBlockSwitch(primary)); switchItem.item.classList.add("selected"); var title = primary.querySelector('.title') title.remove(); } for (var secondary of document.querySelectorAll('.secondary')) { var primary = findPrimary(secondary); if (primary === null) { console.error("Found secondary block with no primary sibling"); } else { var switchItem = createSwitchItem(secondary, primary.querySelector('.switch')); switchItem.content.classList.add("hidden"); primary.append(switchItem.content); secondary.remove(); } }
} function createElementFromHtml(html) { var template = document.createElement('template'); template.innerHTML = html; return template.content.firstChild;
} function createBlockSwitch(primary) { var blockSwitch = createElementFromHtml('\
\
'); primary.prepend(blockSwitch) return blockSwitch;
} function findPrimary(secondary) { var candidate = secondary.previousElementSibling; while (candidate != null && !candidate.classList.contains('primary')) { candidate = candidate.previousElementSibling; } return candidate;
} function createSwitchItem(block, blockSwitch) { var blockName = block.querySelector('.title').textContent; var content = block.querySelectorAll('.content').item(0); var colist = nextSibling(block, '.colist'); if (colist != null) { content.append(colist); } var item = createElementFromHtml('\' + blockName + '\
'); item.dataset.blockName = blockName; content.dataset.blockName = blockName; blockSwitch.append(item); return {'item': item, 'content': content};
} function nextSibling(element, selector) { var sibling = element.nextElementSibling; while (sibling) { if (sibling.matches(selector)) { return sibling; } sibling = sibling.nextElementSibling; }
} function globalSwitch() { document.querySelectorAll(".switch--item").forEach(function(item) { var blockId = blockIdForSwitchItem(item); var handler = function(event) { selectedText = event.target.textContent; window.localStorage.setItem(blockId, selectedText); for (var switchItem of document.querySelectorAll(".switch--item")) { if (blockIdForSwitchItem(switchItem) === blockId && switchItem.textContent === selectedText) { select(switchItem); } } } item.addEventListener("click", handler); if (item.textContent === window.localStorage.getItem(blockId)) { select(item); } });
} function select(selected) { for (var child of selected.parentNode.children) { child.classList.remove("selected"); } selected.classList.add("selected"); for (var child of selected.parentNode.parentNode.children) { if (child.classList.contains("content")) { if (selected.dataset.blockName === child.dataset.blockName) { child.classList.remove("hidden"); } else { child.classList.add("hidden"); } } } } function blockIdForSwitchItem(item) { idComponents = [] for (var switchItem of item.parentNode.querySelectorAll(".switch--item")) { idComponents.push(switchItem.textContent.toLowerCase()); } return idComponents.sort().join("-")
} window.onload = function() { addBlockSwitches(); globalSwitch();
};
# Spring Cloud Stream Reference Documentation
Sabby Anandan
Marius Bogoevici
Eric Bottard
Mark Fisher
Ilayaperumal Gopinathan
Mark Heckler
Gunnar Hillert
Mark Pollack
Patrick Peralta
Glenn Renfro
Thomas Risberg
Dave Syer
David Turanski
Janne Valkealahti
Benjamin Klein
Vinicius Carvalho
Gary Russell
Oleg Zhurakousky
Jay Bryant
Soby Chacko
Domenico Sibilio
**3.2.2**
The reference documentation consists of the following sections:
| [Overview](spring-cloud-stream.html#spring-cloud-stream-reference) | History, Quick Start, Concepts, Architecture Overview, Binder Abstraction, and Core Features |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| [Rabbit MQ Binder](https://docs.spring.io/spring-cloud-stream-binder-rabbit/docs/3.2.2/reference/html/spring-cloud-stream-binder-rabbit.html) | Spring Cloud Stream binder reference for Rabbit MQ |
| [Apache Kafka Binder](https://docs.spring.io/spring-cloud-stream-binder-kafka/docs/3.2.2/reference/html/spring-cloud-stream-binder-kafka.html#_apache_kafka_binder) | Spring Cloud Stream binder reference for Apache Kafka |
|[Apache Kafka Streams Binder](https://docs.spring.io/spring-cloud-stream-binder-kafka/docs/3.2.2/reference/html/spring-cloud-stream-binder-kafka.html#_kafka_streams_binder)| Spring Cloud Stream binder reference for Apache Kafka Streams |
| [Additional Binders](binders.html#binders) |A collection of Partner maintained binder implementations for Spring Cloud Stream (e.g., Azure Event Hubs, Google PubSub, Solace PubSub+)|
| [Spring Cloud Stream Samples](https://github.com/spring-cloud/spring-cloud-stream-samples/) | A curated collection of repeatable Spring Cloud Stream samples to walk through the features |
Relevant Links:
| [Spring Cloud Data Flow](https://cloud.spring.io/spring-cloud-dataflow/) | Spring Cloud Data Flow |
|--------------------------------------------------------------------------------|------------------------------------------------------|
|[Enterprise Integration Patterns](http://www.enterpriseintegrationpatterns.com/)|Patterns and Best Practices for Enterprise Integration|
| [Spring Integration](https://spring.io/projects/spring-integration) | Spring Integration framework |
if (window.parent == window) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1\*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');ga('create', 'UA-2728886-23', 'auto', {'siteSpeedSampleRate': 100});ga('send', 'pageview');}