diff --git a/docs/src/reference/docbook/changes-1.0-2.0.xml b/docs/src/reference/docbook/changes-1.0-2.0.xml
index 651fc43b6e..00ddfc105b 100644
--- a/docs/src/reference/docbook/changes-1.0-2.0.xml
+++ b/docs/src/reference/docbook/changes-1.0-2.0.xml
@@ -82,7 +82,7 @@
We now provide support for the Message Store pattern.
The Message Store provides a strategy for persisting messages on behalf of any process whose scope extends beyond a single
transaction, such as the Aggregator and Resequencer. Many sections of this document provide samples on how to use a Message Store as it
- affects several areas of Spring Integration. See ,
+ affects several areas of Spring Integration. See , ,
, , , and for more details
diff --git a/docs/src/reference/docbook/gemfire.xml b/docs/src/reference/docbook/gemfire.xml
index acf85d86a9..16b426d6a7 100644
--- a/docs/src/reference/docbook/gemfire.xml
+++ b/docs/src/reference/docbook/gemfire.xml
@@ -125,4 +125,44 @@ xsi:schemaLocation="http://www.springframework.org/schema/integration/gemfire
This adapter also supports the order attribute which may be useful if it is bound to a PublishSubscribeChannel.
+
+
+ Gemfire Message Store
+
+
+ As described in EIP, a Message Store allows you to persist Messages.
+ This can be very useful when dealing with components that have a capability to buffer messages
+ (QueueChannel, Aggregator, Resequencer, etc.) if reliability is a concern.
+ In Spring Integration, the MessageStore strategy also provides the foundation for the
+ ClaimCheck pattern, which is described in EIP as well.
+
+
+
+ Spring Integration's Gemfire module provides the GemfireMessageStore which is an implementation of both the
+ the MessageStore strategy (mainly used by the QueueChannel and ClaimCheck
+ patterns) and the MessageGroupStore strategy (mainly used by the Aggregator and
+ Resequencer patterns).
+
+
+
+
+
+
+
+
+
+
+
+
+
+]]>
+
+
+
+ Above is a sample GemfireMessageStore configuration that shows its usage by a QueueChannel
+ and an Aggregator. As you can see it is a simple bean configuration, and it expects a
+ GemFireCache (created by CacheFactoryBean) as a constructor argument.
+
+
diff --git a/docs/src/reference/docbook/jdbc.xml b/docs/src/reference/docbook/jdbc.xml
index cfde9d9106..052e89046a 100644
--- a/docs/src/reference/docbook/jdbc.xml
+++ b/docs/src/reference/docbook/jdbc.xml
@@ -158,8 +158,8 @@
binding of the incoming message to the query.
-
- Message Store
+
+ JDBC Message Store
The JDBC module provides an implementation of the Spring Integration
MessageStore (important in the Claim Check pattern)
diff --git a/docs/src/reference/docbook/message-store.xml b/docs/src/reference/docbook/message-store.xml
new file mode 100644
index 0000000000..d5e3d219b5
--- /dev/null
+++ b/docs/src/reference/docbook/message-store.xml
@@ -0,0 +1,55 @@
+
+
+ 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.
+
+
+
+ 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.
+
+
+ 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,
+ Resequencer etc.), but here are a couple of samples to give you an idea:
+
+
+
+ QueueChannel
+
+
+]]>
+
+
+
+ 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:
+
+
+ - uses RDBMS to store Messages
+ - uses Redis key/value datastore to store Messages
+ - uses MongoDB document store to store Messages
+ - uses Gemfire distributed cache to store Messages
+
+
+
+
diff --git a/docs/src/reference/docbook/system-management.xml b/docs/src/reference/docbook/system-management.xml
index a914c9ccec..e62904f29c 100644
--- a/docs/src/reference/docbook/system-management.xml
+++ b/docs/src/reference/docbook/system-management.xml
@@ -6,5 +6,7 @@
+
+