diff --git a/examples/src/main/scala/org/apache/spark/examples/streaming/ActorWordCount.scala b/examples/src/main/scala/org/apache/spark/examples/streaming/ActorWordCount.scala index 8e88987439ffc731e90547df942450705fc57966..9f7c7d50e5176a837e7834f20016c439102fbff4 100644 --- a/examples/src/main/scala/org/apache/spark/examples/streaming/ActorWordCount.scala +++ b/examples/src/main/scala/org/apache/spark/examples/streaming/ActorWordCount.scala @@ -18,7 +18,7 @@ // scalastyle:off println package org.apache.spark.examples.streaming -import scala.collection.mutable.LinkedList +import scala.collection.mutable.LinkedHashSet import scala.reflect.ClassTag import scala.util.Random @@ -39,7 +39,7 @@ case class UnsubscribeReceiver(receiverActor: ActorRef) class FeederActor extends Actor { val rand = new Random() - var receivers: LinkedList[ActorRef] = new LinkedList[ActorRef]() + val receivers = new LinkedHashSet[ActorRef]() val strings: Array[String] = Array("words ", "may ", "count ") @@ -63,11 +63,11 @@ class FeederActor extends Actor { def receive: Receive = { case SubscribeReceiver(receiverActor: ActorRef) => println("received subscribe from %s".format(receiverActor.toString)) - receivers = LinkedList(receiverActor) ++ receivers + receivers += receiverActor case UnsubscribeReceiver(receiverActor: ActorRef) => println("received unsubscribe from %s".format(receiverActor.toString)) - receivers = receivers.dropWhile(x => x eq receiverActor) + receivers -= receiverActor } }