# Akka Typed persistence at-least-once delivery

**URL:** <https://discuss.akka.io/t/akka-typed-persistence-at-least-once-delivery/7487>\
**Category:** Persistence / Event Sourcing\
**Created:** [November 12, 2020, 4:26pm UTC](https://discuss.akka.io/t/akka-typed-persistence-at-least-once-delivery/7487 "2020-11-12T16:26:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ignatius](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.akka.io/ignatius/32/1787_2.png) [@ignatius](https://discuss.akka.io/u/ignatius)\
**Post date:** [November 12, 2020, 4:26pm UTC](https://discuss.akka.io/t/akka-typed-persistence-at-least-once-delivery/7487/1 "2020-11-12T16:26:25Z")

</div>

I’m just trying to playing out in my head how to do persisted at-least-once delivery in Akka Typed.

I can persist the recipient info when receiving a command to send a message, and send the message. Then I can persist if that message has been acknowledged (received) successfully, and I can also schedule retries. But in the scenario where the system crashes before an answer has been received, how do I make sure that the message is sent again after the actor is restored? Do I have to send a message to the actor’s self after restore to check if there is an unanswered message, or is there another idiomatic way?

---

<div class="post-metadata">

**Author:** ![haghard](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.akka.io/haghard/32/1835_2.png) [@haghard](https://discuss.akka.io/u/haghard)\
**Post date:** [November 18, 2020, 5:09pm UTC](https://discuss.akka.io/t/akka-typed-persistence-at-least-once-delivery/7487/2 "2020-11-18T17:09:02Z")

</div>

As far as I understand **Reliable delivery** can be considered as a replacement for AtLeastOnceDelivery for typed actors. You can look it up in the docs

---

<div class="post-metadata">

**Author:** ![ignatius](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.akka.io/ignatius/32/1787_2.png) [@ignatius](https://discuss.akka.io/u/ignatius)\
**Post date:** [November 19, 2020, 1:11am UTC](https://discuss.akka.io/t/akka-typed-persistence-at-least-once-delivery/7487/3 "2020-11-19T01:11:26Z")

</div>

I just had another look, and it turns out there is a `DurableProducerQueue` for this purpose - must have escaped me the last time I looked at the docs.

Thanks!
