--- CircuitBreaker/src/dk/thoerup/curcuitbreaker/HalfOpenState.java 2009/10/05 19:44:40 393 +++ CircuitBreaker/src/dk/thoerup/circuitbreaker/HalfOpenState.java 2010/06/20 21:54:53 864 @@ -1,22 +1,26 @@ -package dk.thoerup.curcuitbreaker; +package dk.thoerup.circuitbreaker; -public class HalfOpenState implements CircuitBreakerState { +public final class HalfOpenState implements CircuitBreakerState { - public void preInvoke(CircuitBreaker circuitBreaker) throws Throwable + public void preInvoke(CircuitBreaker circuitBreaker) throws Exception { // NO OP } - public void postInvoke(CircuitBreaker circuitBreaker) throws Throwable + public void postInvoke(CircuitBreaker circuitBreaker) throws Exception { circuitBreaker.reset(); } - public void onError(CircuitBreaker circuitBreaker, Throwable e) throws Throwable + public void onError(CircuitBreaker circuitBreaker, Exception e) throws Exception { - circuitBreaker.tripBreaker(); - throw new CircuitBreakerException(e); + circuitBreaker.retripBreaker(); + throw new CircuitBreakerException("Circuitbreaker, failed in half-open", e); } + + public String getName() { + return "Half-open"; + } }