Hi,

Just if someone has the same questions again, I'll answer my own question. 

I have had a look into the coding of the resequencer. If I understand this 
correctly the entries are stored within a single tree set. This means that 
there are no pluggable (and potentially persistent) repositories available, and 
it most probably also rules out multiple sequences (even if we could create a 
tricky comparator that could take two attributes into account this would mean 
that the set would be a partial order whereas the contract for a tree map 
requires a full order).

All the exchanges are stored in separate threads that can continue when the 
predecessor was processed.

Best regards
Stephan

-----Original Message-----
From: Siano, Stephan [mailto:[email protected]] 
Sent: Mittwoch, 11. Juni 2014 15:29
To: [email protected]
Subject: Questions about resequencer

Hi,

I have some questions about the resequencer EIP, I didn't manage to find in the 
documentation.


1.       Is it possible to have multiple sequences within the same route?

I have multiple orders with an order number. Each of the order number is split 
into multiple parts that are sent separately and they have a sequence number. 
Now I want to resequence the messages for each of the orders separately. The 
expected behavior should be something like this:

MSG 1: Order id: 1, Sequence Number: 2 -> no message processed

MSG 2: Order id: 2, Sequence Number: 1 -> MSG 2 is processed

MSG 3: Order id: 1, Sequence Number: 1 -> MSG 3, MSG 1 are processed

2.       Aggregation supports configurable aggregation repositories (including 
persistent ones). Is there something similar for the resequencing?

3.       What happens with waiting exchanges? Is the thread suspended and they 
are stored in an (in memory) repository, or is something else done with them?

Best regards
Stephan

Reply via email to