Doppeltes Senden einer Nachricht vermeiden
Um ausschließen zu können, dass eine Nachricht zweimal gesendet wird, wenn es zu einem Ausfall während des Sendens kommt, muss die messageId persistiert werden bevor sendMessage aufgerufen wird. So kann vor dem Senden geprüft werden, ob die Nachricht mit persitierter messageId schon gesendet wurde, indem ein getTransportReport(messageId) aufgerufen wird.
Eine Lösung wäre es sendMessage in prepareMessage(messageWithoutId) und sendMessage(message) aufzuteilen, oder createMessageId() anzubieten und ein Aufruf von sendMessage() mit messageId und ohne zu erlauben (sendMessage(message) und sendMessage(messageWithoutId)).
Zudem sollte die Methode getTransportReport(message) verfügbar gemacht werden.
Edited by Jörg Bolay