diff --git a/docs/src/reference/docbook/message-store.xml b/docs/src/reference/docbook/message-store.xml
index d5e3d219b5..9ca1f0c194 100644
--- a/docs/src/reference/docbook/message-store.xml
+++ b/docs/src/reference/docbook/message-store.xml
@@ -3,28 +3,29 @@
xmlns:xlink="http://www.w3.org/1999/xlink">
Message Store
- Enterprise Integration Patterns (EIP) identifies several patterns that have capabilities to buffer messages. For example;
- Aggregator buffers messages until they can be released and QueueChannel buffers
- messages until consumers explicitly receive Messages from this QueueChannel.
- Because of the failures that can occur at any point within your message flow EIP components that buffer
- messages also introduce a point where messages could be lost.
+ Enterprise Integration Patterns (EIP) identifies several patterns that have the capability to buffer messages. For example,
+ an Aggregator buffers messages until they can be released and a QueueChannel buffers
+ messages until consumers explicitly receive those messages from that channel.
+ Because of the failures that can occur at any point within your message flow, EIP components that buffer
+ messages also introduce a point where messages could be lost.
+
+
+
+ To mitigate the risk of losing Messages, EIP defines the Message Store pattern which allows
+ EIP components to store Messages typically in some type of persistent store (e.g. RDBMS).
- To mitigate the risk of loosing Messages EIP defines Message Store pattern which allows
- EIP components to store Messages typically in some type of persistent store (e.g., RDBMS).
-
-
-
- Spring Integration provides support for Message Store pattern by
- a) defining a org.springframework.integration.store.MessageStore strategy and providing several implementations of this strategy,
- b) exposing message-store attribute on all components that have capabilities to buffer messages allowing
- you to inject an instance of the MessageStore.
+ Spring Integration provides support for the Message Store pattern by
+ a) defining a org.springframework.integration.store.MessageStore strategy interface,
+ b) providing several implementations of this interface, and
+ c) exposing a message-store attribute on all components that have the capability to buffer messages
+ so that you can inject any instance that implements the MessageStore interface.
Details on how to configure a specific Message Store implementation and/or how to inject
- MessasgeStore implementation into the specific buffering component are described
- throughout the manual (see specific component, such as QueueChannel, Aggregator,
+ a MessageStore implementation into a specific buffering component are described
+ throughout the manual (see the specific component, such as QueueChannel, Aggregator,
Resequencer etc.), but here are a couple of samples to give you an idea:
@@ -34,16 +35,19 @@
]]>
-
+
Aggregator
- ]]>
+ ]]>
- By default Messages are stored in-memory using org.springframework.integration.store.SimpleMessageStore implementation of MessageStore.
- However we also provide implementations of MessageStore for various data-stores. Below is a complete list of supported implementations:
-
+ By default Messages are stored in-memory using org.springframework.integration.store.SimpleMessageStore,
+ an implementation of MessageStore. That might be fine for development or simple low-volume environments where the potential loss
+ of non-persistent messages is not a concern. However, the typical production application will need a more robust option, not only to mitigate the risk of
+ message loss but also to avoid potential out-of-memory errors. Therefore, we also provide MessageStore implementations for a variety of data-stores.
+ Below is a complete list of supported implementations:
+
- uses RDBMS to store Messages
- uses Redis key/value datastore to store Messages