Merge pull request #623 from garyrussell/INT-2748
* INT-2748: INT-2748 Change CircuitBreaker Exception
This commit is contained in:
@@ -20,7 +20,6 @@ import java.util.concurrent.ConcurrentMap;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.integration.Message;
|
||||
import org.springframework.integration.MessagingException;
|
||||
|
||||
/**
|
||||
* A circuit breaker that stops calling a failing service after threshold
|
||||
@@ -56,7 +55,7 @@ public class RequestHandlerCircuitBreakerAdvice extends AbstractRequestHandlerAd
|
||||
}
|
||||
if (metadata.getFailures().get() >= this.threshold &&
|
||||
System.currentTimeMillis() - metadata.getLastFailure() < this.halfOpenAfter) {
|
||||
throw new MessagingException("Circuit Breaker is Open for " + target);
|
||||
throw new CircuitBreakerOpenException("Circuit Breaker is Open for " + target);
|
||||
}
|
||||
try {
|
||||
Object result = callback.execute();
|
||||
@@ -92,4 +91,13 @@ public class RequestHandlerCircuitBreakerAdvice extends AbstractRequestHandlerAd
|
||||
}
|
||||
}
|
||||
|
||||
private class CircuitBreakerOpenException extends RuntimeException {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public CircuitBreakerOpenException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -304,7 +304,7 @@ public class AdvisedMessageHandlerTests {
|
||||
fail("Expected failure");
|
||||
}
|
||||
catch (Exception e) {
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getMessage());
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getCause().getMessage());
|
||||
}
|
||||
Thread.sleep(100);
|
||||
try {
|
||||
@@ -319,7 +319,7 @@ public class AdvisedMessageHandlerTests {
|
||||
fail("Expected failure");
|
||||
}
|
||||
catch (Exception e) {
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getMessage());
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getCause().getMessage());
|
||||
}
|
||||
Thread.sleep(100);
|
||||
doFail.set(false);
|
||||
@@ -344,7 +344,7 @@ public class AdvisedMessageHandlerTests {
|
||||
fail("Expected failure");
|
||||
}
|
||||
catch (Exception e) {
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getMessage());
|
||||
assertEquals("Circuit Breaker is Open for baz", e.getCause().getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user