A message brokering mechanism for performing a recovery operation in a
transaction processing system including first and second stages operable
to exchange message requests and responses. The first stage may receive a
message request from a message source and may check whether the message
request is a special message request. This may be by way of checking if a
recovery attribute of the message request is set. A normal message
request may have a recovery attribute that is not set. If the message
request is a special message request, it may be dispatched to the second
stage. If the message request is a normal message request, it may be
dispatched to the second stage if the normal message request is not a
repeat normal message request.