I posted my Scala Implementation of the Circuit Breaker state machine mentioned in the book Release It at github.
I used the GoF State Machine pattern (like Ken DeLong), implemented it in Scala and added some factory stuff.
Use it like this
. . . addCircuitBreaker("test", CircuitBreakerConfiguration(100,10)) . . . class Test extends UsingCircuitBreaker { def myMethodWorkingFine = { withCircuitBreaker("test") { . . . } } def myMethodDoingWrong = { withCircuitBreaker("test") { throw new java.lang.IllegalArgumentException } } }