Last week Spring Integration 2.1 M1 was released. One of new features is an implementation of MessageStorage interface that relies upon MongoDB for persistence.
In current post I will show you an example of Spring Integration using Claim Check pattern andMongoDB as storage system.
First of all a small introduction of each component we will use
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns. It enables lightweight messaging within Spring-based applications and supports integration with external systems via declarative adapters.
MongoDB is a high-performance, schema-free, document-oriented database, which stores JSON-like documents.
Claim Check pattern is an EIP pattern which allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at later time. This pattern can be used when message content is very large and should be sent by request or when you cannot trust the information with an outside party and you use a claim check to talk with it.
As an example I have used a simplified version of Cafe Sample Application that are shipped withSpring Integration bundle, but adding MongoDB MessageStore.