31 lines
1 KiB
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")
|
|
}
|
|
}
|
|
}
|