Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Adding a repository for registering in progress exchanges.
The repository should be per camel context specific. It should contain a default memory only repository, but support pluggable so end user can impl some other store if they like.
It should support some notion of a key to identify whether a given message is already in progress or not.
The UnitOfWork can be used to register and de register in progress, so we ensure its always done.
We could by default just register the exchange id, and thus have a sort of current snapshot of how many exchanges is currently in progress.
Then we can let components override this behavior to use a key that is component specific and has a meaning.
For instance the file component can use the absolute file name as key to ensure that it does not consume the same file while its already in progress.
And the idempotent consumer EIP can use the correlation message id to ensure that it also detects in progress messages.
Attachments
Issue Links
- depends upon
-
CAMEL-1650 Race condition in IdempotentConsumer
- Closed