Merge pull request #18490 from akka/wip-16948-singleton-retries-patriknw

=clt #16948 Use min retries for singleton leaving scenario
This commit is contained in:
Patrik Nordwall 2015-09-17 10:39:19 +02:00
commit a45f31cecb
3 changed files with 20 additions and 2 deletions

View file

@ -115,15 +115,21 @@ object ClusterSingletonManagerSpec extends MultiNodeConfig {
/**
* The Singleton actor
*/
class Consumer(queue: ActorRef, delegateTo: ActorRef) extends Actor {
class Consumer(queue: ActorRef, delegateTo: ActorRef) extends Actor with ActorLogging {
import Consumer._
import PointToPointChannel._
var current = 0
var stoppedBeforeUnregistration = true
override def preStart(): Unit = queue ! RegisterConsumer
override def postStop(): Unit = {
if (stoppedBeforeUnregistration)
log.warning("Stopped before unregistration")
}
def receive = {
case n: Int if n <= current
context.stop(self)
@ -138,6 +144,7 @@ object ClusterSingletonManagerSpec extends MultiNodeConfig {
case End
queue ! UnregisterConsumer
case UnregistrationOk
stoppedBeforeUnregistration = false
context stop self
case Ping
sender() ! Pong