2011-03-15 01:00:02 +01:00
|
|
|
package akka.ticket
|
|
|
|
|
|
|
|
|
|
import akka.actor._
|
|
|
|
|
import akka.routing._
|
2011-10-11 16:05:48 +02:00
|
|
|
import akka.testkit.AkkaSpec
|
2011-03-15 01:00:02 +01:00
|
|
|
|
2011-10-11 16:05:48 +02:00
|
|
|
class Ticket703Spec extends AkkaSpec {
|
2011-03-15 01:00:02 +01:00
|
|
|
|
2011-06-13 13:43:21 +02:00
|
|
|
"A ? call to an actor pool" should {
|
2011-03-15 01:00:02 +01:00
|
|
|
"reuse the proper timeout" in {
|
2011-10-11 16:05:48 +02:00
|
|
|
val actorPool = createActor(
|
2011-08-26 17:25:18 +02:00
|
|
|
Props(new Actor with DefaultActorPool with BoundedCapacityStrategy with MailboxPressureCapacitor with SmallestMailboxSelector with BasicNoBackoffFilter {
|
2011-05-18 17:25:30 +02:00
|
|
|
def lowerBound = 2
|
|
|
|
|
def upperBound = 20
|
|
|
|
|
def rampupRate = 0.1
|
|
|
|
|
def partialFill = true
|
|
|
|
|
def selectionCount = 1
|
|
|
|
|
def receive = _route
|
|
|
|
|
def pressureThreshold = 1
|
2011-10-11 16:05:48 +02:00
|
|
|
def instance(p: Props) = createActor(p.withCreator(new Actor {
|
2011-05-18 17:25:30 +02:00
|
|
|
def receive = {
|
|
|
|
|
case req: String ⇒
|
|
|
|
|
Thread.sleep(6000L)
|
2011-09-19 11:22:27 +02:00
|
|
|
tryReply("Response")
|
2011-05-18 17:25:30 +02:00
|
|
|
}
|
2011-10-07 11:20:49 +02:00
|
|
|
}))
|
2011-09-28 14:08:04 +02:00
|
|
|
}).withFaultHandler(OneForOneStrategy(List(classOf[Exception]), 5, 1000)))
|
2011-09-27 18:00:26 +02:00
|
|
|
(actorPool.?("Ping", 10000)).await.result must be === Some("Response")
|
2011-03-15 01:00:02 +01:00
|
|
|
}
|
|
|
|
|
}
|
2011-06-14 00:19:54 +02:00
|
|
|
}
|