Hi, I'm a bit confused with current akka-persistence changes - we used Processor like WAL. Use-case is: every Xmin send some request to remote http endpoint. Endpoints can be unavailable for some time, but request should be sent in 'any way' (read as at-least-once-delivery). I used Processor, actor sends Persistent(request) to Processor, Processor stores message to journal and delivers message to request sender actor via channel, when request is successfully sent - message removed from journal (Persistent.confirm()).
Since there is no more command sourcing, I'm trying to implement something similar around PersistenceActor with AtLeastOnceDelivery. It is what I got now - https://gist.github.com/whiter4bbit/fb0776ed562f019f649d It can be used as: class Worker { def receive = { case Command(SendRequest(request), id) => sender ! Confirm(id) } } val journalActorRef = system.actorOf(Props(classOf[JournalActor], workerRef)) journalActorRef ! SendRequest(request) Basically - emulation of journal (yeah - with another one behind!). But I'm not sure about draining this log - with this implementation I will get infinitely growing log file. Ofcourse, I can 'compact' journal after 'replaying' phase - remove all messages from log (using deleteMessages) and store Appends from journalEntries. But how can I deal with application working for a weeks/month? Periodically restart actor? I know, that it is not a big deal to buy more hdd nowadays, but in any way it was solved in previous akka versions. Pavel. -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
