Provided is a method for duplicate message elimination A plurality of
message threads process operations to deliver messages from a message
store to a destination queue. An in-doubt list is generated identifying
messages that are in-progress of being delivered from the message store
to the destination queue by the message threads. One message thread
processing one message adds an entry including the message identifier to
a monitor queue. The message thread further adds the message to the
destination queue. A recovery thread is generated in response to
detecting a failure in the processing by the threads to deliver the
messages from the message store to the destination queue. The recovery
thread processes the messages indicated in the in-doubt list and compares
with message identifiers in the monitor queue to prevent duplicate
delivery of messages to the destination queue.