An ESB can be used to implement different kind of messaging and integration patterns. To support these patters, a storage is needed to store messages.
Message Store (New in version 4.0) is the storage for ESB messages.
For example, in a scenario where we have a back end service that can only accept messages at a given rate and incoming traffic to ESB will have different message rates. To serve that traffic utilizing the back end services, there should be a temporary storage for messages. Message Stores can be used as this temporary storage.
Incoming message traffic can be stored using the Store Mediator. And message processors associated with the Message Store can be used to deliver messages to the back end services at a given rate.
Users can implement their own message store by implementing the MessageStore
interface and plug them using the configuration. ESB ships two message store implementations:
Besides the Message Stores, message processors are used to implement different messaging and integration patterns.
Message Store Configuration
<messageStore name="string" > <parameter name="string" > "string" </parameter>\* </messageStore>
The Message Store is a top level ESB configuration element where it should have a unique name. Class attribute value is the fully qualified class name of the underlying message store implementation. There can be many Message Store implementations. Users can write their own Message Store implementation and use it.
Parameters section is used to configure the parameters that is needed by underlying message store implementation.