|
Akka/Scala example source code file (CircuitBreakerDocSpec.scala)
The CircuitBreakerDocSpec.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package docs.circuitbreaker //#imports1 import scala.concurrent.duration._ import akka.pattern.CircuitBreaker import akka.pattern.pipe import akka.actor.Actor import akka.actor.ActorLogging import scala.concurrent.Future import akka.event.Logging //#imports1 class CircuitBreakerDocSpec {} //#circuit-breaker-initialization class DangerousActor extends Actor with ActorLogging { import context.dispatcher val breaker = new CircuitBreaker(context.system.scheduler, maxFailures = 5, callTimeout = 10.seconds, resetTimeout = 1.minute).onOpen(notifyMeOnOpen()) def notifyMeOnOpen(): Unit = log.warning("My CircuitBreaker is now open, and will not close for one minute") //#circuit-breaker-initialization //#circuit-breaker-usage def dangerousCall: String = "This really isn't that dangerous of a call after all" def receive = { case "is my middle name" => breaker.withCircuitBreaker(Future(dangerousCall)) pipeTo sender() case "block for me" => sender() ! breaker.withSyncCircuitBreaker(dangerousCall) } //#circuit-breaker-usage } Other Akka source code examplesHere is a short list of links related to this Akka CircuitBreakerDocSpec.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.