Hi,
Maybe @franz can share some insight regarding similar topic: recovering-from-kafkasubscriberactor-caused-by-consumerfailed.
Other solution could be to handle retries, per message, in message handler, by chaining invoke CompletableStages.
Persist would then be done in final stage of the chain by sending a command to entity or by publishing to other kafka topic (using alpakka kafka). Just a note, if any of this stages fail stream will be restarted and complete message handle will be repeated.
Hope this helps.
Br,
Alan