-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Jeroen van Erp opened INT-1068 and commented
Currently the CorrelatingMessageHandler only seems to have a way to force messages to pass the Barrier if the time-out has expired, or discard them. It would be nice to have a way to retry them after a given amount of time. In our usecase we have messages coming in, which are delayed because another message with the same correlation id is being processed. These messages are then kept back to await the other message to finish the processing chain. In this way we prevent messages from going through our system in the wrong order. However it may take a long time before another message with the same correlation id arrives at our processor, so all held back messages stay in the message store a long time and could/should have been processed earlier.
In essence we're using the CorrelatingMessageHandler as a Barrier or Latch, where a message with a specific correlation id can pass, unless another message with the same correlation id is in the chain.
Instead of having only an option of forcing or discarding messages, we should also have a way of gracefully retrying and delaying the messages if they couldn't be retried yet.
Affects: 2.0 M3
Issue Links:
- Add CorrelatingMessageBarrier [INT-1174] #5182 Add CorrelatingMessageBarrier
("depends on")