Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
titleWork in progress

Feel free to add, edit, comment.... At some time we probably need to assign priorities as to what is indispensable for Camel 3.0 and what could be delivered in a later patch release

  • Generically, entries in a Message Store can be created, updated, read and deleted.
  • Ability to temporarily store exchanges for the following EIPs:
    • Aggregator, Multicast, RecipientList, Splitter : alternative to AggregationRepository, making it eventually obsolete
    • Streaming Resequencer (CAMEL-949)
    • Stream Caching (question)
    • Claim check (question)
  • Ability to store exchanges for a defined period of time
    • Idempotent Consumer
    • Dead Letter Queue (CAMEL-4575)
    • Destination for the Tracer
  • Ability to permanently store exchanges (e.g. for audit trails)
  • Provide a certain level of manual retry. That is to get the original message from the store and feed it back in the originating route.
  • Flexibility to specify what part of an exchange should be stored (e.g. what exchange properties and message headers) and in which format (e.g. object serialization, JSON, using encryption)
  • Possibility to provide a filter condition to determine which exchanges should be stored (e.g. only failed exchanges, only with a certain message header)
  • Polling Consumer to randomly access a message store
  • Producer to write an exchange into a message store

...

Code examples

Note
titleWork in progress

Sometimes it is easier to express thoughts by providing a fictional piece of code along with some comments....

This section intends to demonstrate the usage of a Message Store by providing hypotethical code snippets, e.g.

...