Ashley, perhaps this might be useful for you.
import scala.concurrent.duration._
import akka.actor._
import benefits.configuration.Settings
/* Message used by `Child` to signal `Parent` it should
* be passivated by way of PoisonPill after a configurable
* idle time.
* */
case object Passivate
Hello Ashey,
I guess you answered your question(s) yourself:
- in-between receiving Passivate and Terminated the Manager will buffer all
incoming messages for the passivating Aggregate
- when receiving Terminated it will flush the buffer for the Aggregate,
which can result in activation again.
Just like Michael (quoting Patrik) said :-)
Also, please note that Passivate is *not *a feature of akka-persistence,
it's a feature of cluster sharding:
http://doc.akka.io/docs/akka/2.3.4/contrib/cluster-sharding.html
It's true however that it (and the entire cluster sharding) plays very well