An implementation of PersistenceAdapter designed for
use with a Journal and then checkpointing asynchronously
on a timeout with some other long term persistent storage.
Replays the checkpointStore first as those messages are the oldest ones,
then messages are replayed from the transaction log and then the cache is
updated.