--- CircuitBreaker/src/dk/thoerup/curcuitbreaker/AccountingCircuitBreaker.java 2009/10/07 04:17:45 404 +++ CircuitBreaker/src/dk/thoerup/curcuitbreaker/AccountingCircuitBreaker.java 2009/10/20 10:26:50 450 @@ -13,21 +13,23 @@ public AccountingCircuitBreaker(String name, int threshold, long timeoutMS) { super(name, threshold, timeoutMS); + + resetCounters(); } @Override - public Object invoke(CircuitInvocation invocation) throws Throwable { + public Object invoke(CircuitInvocation invocation) throws Exception { Object result; try { totalCallCount.incrementAndGet(); result = super.invoke(invocation); - } catch (Throwable t) { - if (t instanceof CircuitBreakerException) { + } catch (Exception e) { + if (e instanceof CircuitBreakerException) { blockCount.incrementAndGet(); } else { totalFailureCount.incrementAndGet(); } - throw t; + throw e; } return result;