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.

Reply via email to