@Service
+public static class DemoControllerService {
+ private RestTemplate rest;
+ private CircuitBreakerFactory cbFactory;
+
+ public DemoControllerService(RestTemplate rest, CircuitBreakerFactory cbFactory) {
+ this.rest = rest;
+ this.cbFactory = cbFactory;
+ }
+
+ public String slow() {
+ return cbFactory.create("slow").run(() -> rest.getForObject("/slow", String.class), throwable -> "fallback");
+ }
+
+}
+