I was looking at MessageStore and according to the documentation it can be used to "mitigate the risk" of messages being "lost in the event of a system failure".
however, the interface does not allow messages to be enumerated and instead, they can only be retrieved by id. my assumption then, is that the ids must be kept in memory. so when the system does fail, any messages in the store are not lost, but they cannot be used either.
so by the looks of it, the only benefit you receive from the message store is some degree of asynchronicity and potentially lowered memory use., but not preservation of messages during a system failure.
am I missing something here?