pekko/akka-actor-tests/src/test/scala/akka/ticket/Ticket703Spec.scala

31 lines
1 KiB
Scala

package akka.ticket
import akka.actor._
import akka.routing._
import akka.testkit.AkkaSpec
class Ticket703Spec extends AkkaSpec {
"A ? call to an actor pool" should {
"reuse the proper timeout" in {
val actorPool = actorOf(
Props(new Actor with DefaultActorPool with BoundedCapacityStrategy with MailboxPressureCapacitor with SmallestMailboxSelector with BasicNoBackoffFilter {
def lowerBound = 2
def upperBound = 20
def rampupRate = 0.1
def partialFill = true
def selectionCount = 1
def receive = _route
def pressureThreshold = 1
def instance(p: Props) = actorOf(p.withCreator(new Actor {
def receive = {
case req: String
Thread.sleep(6000L)
channel.tryTell("Response")
}
}))
}).withFaultHandler(OneForOneStrategy(List(classOf[Exception]), 5, 1000)))
(actorPool.?("Ping", 10000)).await.result must be === Some("Response")
}
}
}