holodeck-b2b / Holodeck-B2B

Holodeck B2B is an AS4 system-to-system messaging solution that implements the OASIS specifications for ebMS3 and it's AS4 profile. For more information visit the project website

Home Page:http://holodeck-b2b.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inconsistency in reception awareness

sfieten opened this issue · comments

When the current processing state of a User Messages is TRANSPORT_FAILURE it will be resent by RetransmissionWorker but when a Receipt is received for that same User Message it will not be processed by the ProcessReceipts handler and the message will stay in the TRANSPORT_FAILURE state.
This can leave a User Message in "failed" state when the last resend of the message fails, even if a Receipt is later received (most likely to happen on large messages where a "read time-out" occurs because the receiver takes too long to process the message and send the Receipt).

Therefore the ProcessReceipts and RetransmissionWorker should use the same set of processing states to determine whether a message is or could be waiting for a receipt.