oluies / Circuit-Breaker-for-Scala

Guard external service access with a Circuit Breaker based on the book "Release It" (Michael Nygard)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

Guard external service access with a Circuit Breaker based on the book "Release It" (Michael Nygard)


Languages

Language:Scala 100.0%