Guard external service access with a Circuit Breaker based on the book "Release It" (Michael Nygard)
Scala
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
README.textile
pom.xml

README.textile

This is a Scala Implementation of the Circuit Breaker state machine mentioned in the book Release It

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
    }
  }
}

I will add maven pom and addional test specs (see src/TestCircuitBreaker.scala) later.